<?xml version="1.0" encoding="UTF-8"?>
<robot generator="Robot 7.4.2 (Python 3.11.10 on linux)" generated="2026-08-18T20:11:28.074281" 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-08-18T20:11:28.481467" 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-08-18T20:11:28.481184" elapsed="0.000353"/>
</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-08-18T20:11:28.483972" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:28.483683" elapsed="0.000356"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:28.483655" elapsed="0.000413"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:11:28.484497" 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-08-18T20:11:28.484623" 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-08-18T20:11:28.484206" elapsed="0.000448"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:28.485232" level="INFO">Attempting to execute command "sudo mn -c" on remote system "10.30.171.230" 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-08-18T20:11:28.484808" elapsed="0.000475"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:11:28.485839" 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-08-18T20:11:28.485420" elapsed="0.000447"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:11:28.486803" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:11:28.486889" 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-08-18T20:11:28.486392" elapsed="0.000526"/>
</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-08-18T20:11:28.487062" elapsed="0.000354"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:11:28.488249" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:11:28.946577" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:10:47 UTC 2026

  System load:  0.13               Processes:             110
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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-645-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-08-18T20:11:28.487919" elapsed="0.458796"/>
</kw>
<msg time="2026-08-18T20:11:28.946826" 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-08-18T20:11:28.487559" elapsed="0.459364"/>
</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-08-18T20:11:28.486064" elapsed="0.460981"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:11:28.947515" level="INFO">Executing command 'sudo mn -c'.</msg>
<msg time="2026-08-18T20:11:30.097046" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:11:30.097464" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:11:30.097570" 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-08-18T20:11:28.947249" elapsed="1.150379"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:11:30.098106" elapsed="0.000576"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:30.099738" 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-08-18T20:11:30.099063" elapsed="0.000947"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:11:30.100524" elapsed="0.000044"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:11:30.100205" elapsed="0.000439"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:30.100146" elapsed="0.000551"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:11:30.101107" elapsed="0.000077"/>
</return>
<status status="PASS" start="2026-08-18T20:11:30.100860" elapsed="0.000401"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:30.100819" elapsed="0.000498"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:11:30.101399" 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-08-18T20:11:30.106228" elapsed="0.000662"/>
</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-08-18T20:11:30.107078" elapsed="0.000233"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:11:30.107477" elapsed="0.000138"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:11:30.102134" elapsed="0.005559"/>
</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-08-18T20:11:28.483158" elapsed="1.624686"/>
</kw>
<msg time="2026-08-18T20:11:30.107925" 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-08-18T20:11:28.482485" elapsed="1.625518"/>
</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-08-18T20:11:28.482026" elapsed="1.626090"/>
</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-08-18T20:11:30.110794" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:30.110438" elapsed="0.000435"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:30.110411" elapsed="0.000498"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:11:30.111278" 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-08-18T20:11:30.111430" 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-08-18T20:11:30.111074" elapsed="0.000392"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:30.112181" 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.230" 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-08-18T20:11:30.111632" elapsed="0.000615"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:11:30.112966" 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-08-18T20:11:30.112419" elapsed="0.000583"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:11:30.114138" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:11:30.114255" 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-08-18T20:11:30.113694" elapsed="0.000594"/>
</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-08-18T20:11:30.114501" elapsed="0.000455"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:11:30.115766" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:11:30.473448" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:10:47 UTC 2026

  System load:  0.13               Processes:             110
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:11:28 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:11:30.115431" elapsed="0.358113"/>
</kw>
<msg time="2026-08-18T20:11:30.473681" 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-08-18T20:11:30.115095" elapsed="0.358668"/>
</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-08-18T20:11:30.113259" elapsed="0.360607"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:11:30.474243" 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-08-18T20:11:30.506878" level="INFO">Command exited with return code -1.</msg>
<msg time="2026-08-18T20:11:30.507130" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:11:30.507226" 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-08-18T20:11:30.474027" elapsed="0.033248"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:11:30.507566" elapsed="0.000678"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:30.509185" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:30.508558" elapsed="0.000720"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:11:30.509768" elapsed="0.000040"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:11:30.509450" elapsed="0.000433"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:30.509399" elapsed="0.000534"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:11:30.510319" elapsed="0.000062"/>
</return>
<status status="PASS" start="2026-08-18T20:11:30.510053" elapsed="0.000402"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:30.510018" elapsed="0.000490"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:11:30.510584" 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-08-18T20:11:30.515086" elapsed="0.000321"/>
</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-08-18T20:11:30.515550" elapsed="0.000160"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:11:30.515843" elapsed="0.000099"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:11:30.511241" elapsed="0.004753"/>
</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-08-18T20:11:30.109705" elapsed="0.406379"/>
</kw>
<msg time="2026-08-18T20:11:30.516139" 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-08-18T20:11:30.108951" elapsed="0.407236"/>
</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-08-18T20:11:30.108327" elapsed="0.407941"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:28.481723" elapsed="2.034602"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:11:30.516847" 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-08-18T20:11:30.516459" elapsed="0.000414"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:11:30.517353" 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-08-18T20:11:30.517022" elapsed="0.000371"/>
</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-08-18T20:11:30.518988" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:11:30.519067" 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-08-18T20:11:30.518700" 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-08-18T20:11:30.519215" elapsed="0.000312"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:11:30.520314" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:11:30.842264" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:10:47 UTC 2026

  System load:  0.13               Processes:             110
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:11:30 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:11:30.520006" elapsed="0.322431"/>
</kw>
<msg time="2026-08-18T20:11:30.842507" 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-08-18T20:11:30.519662" elapsed="0.322909"/>
</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-08-18T20:11:30.518304" elapsed="0.324354"/>
</kw>
<msg time="2026-08-18T20:11:30.842714" 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-08-18T20:11:30.517939" elapsed="0.324838"/>
</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-08-18T20:11:30.517558" elapsed="0.325292"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:11:30.843365" level="INFO">Executing command 'sudo ovs-vsctl set-manager ptcp:6644'.</msg>
<msg time="2026-08-18T20:11:30.865409" 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-08-18T20:11:30.843017" elapsed="0.022530"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:30.902062" level="INFO">sudo mn --controller=remote,ip=10.30.171.138 --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-08-18T20:11:30.865890" elapsed="0.036233"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:31.185977" level="INFO">[?2004l*** Creating network
*** Adding controller
Connecting to remote controller at 10.30.171.138: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-08-18T20:11:30.902263" elapsed="0.283877"/>
</kw>
<doc>Basic setup/cleanup work that can be done safely before any system
is run.</doc>
<status status="PASS" start="2026-08-18T20:11:28.479981" elapsed="2.706280"/>
</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-08-18T20:11:31.220767" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a986301950&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-08-18T20:11:31.220359" elapsed="0.000644"/>
</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-08-18T20:11:32.473780" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:11:32.475183" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node01vepds54irw811x6z636srajrq0.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:11:32 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":34464,"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":"3","active-flows":1,"packets-matched":"1"}},{"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-08-18T20:11:32.475517" 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-08-18T20:11:31.228182" elapsed="1.247366"/>
</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-08-18T20:11:32.476134" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:32.475683" elapsed="0.000515"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.479943" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":34464,"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":"3","active-flows":1,"packets-matched":"1"}},{"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-08-18T20:11:31.720Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"36:b8:db:95:56:68","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":"3","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":772000000},"bytes":{"transmitted":"261","received":"261"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"5a:e0:59:31:f0:a7","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":0,"nanosecond":772000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"46:00:c4:94:45:75","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":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":772000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"72:16:d0:cd:ee: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":0,"nanosecond":767000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:31.954Z"}},{"id":"openflow:1","flow-node-inventory:port-number":34458,"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":"3"}},{"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-08-18T20:11:31.724Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"4e:4e:06:b2:55:35","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":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":748000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:07:aa:3c:96:44","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":741000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"aa:db:19:1d:92:30","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":"3","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":748000000},"bytes":{"transmitted":"261","received":"261"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:31.942Z"}},{"id":"openflow:2","flow-node-inventory:port-number":34466,"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":"3","active-flows":1,"packets-matched":"1"}},{"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-08-18T20:11:31.721Z"},"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:bd:67:7c:b2:7e","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":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":755000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"9a:9d:4f:b1:5c:4f","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":750000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"3a:9d:4d:b0:51:e9","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":"1"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":755000000},"bytes":{"transmitted":"351","received":"90"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:be:fb:c7:80:2a","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":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":755000000},"bytes":{"transmitted":"351","received":"176"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:31.940Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:32.476381" elapsed="0.004631"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:32.476229" elapsed="0.004820"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:32.475649" elapsed="0.005426"/>
</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-08-18T20:11:32.481199" elapsed="0.000210"/>
</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-08-18T20:11:32.481766" elapsed="0.002324"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-08-18T20:11:32.481627" elapsed="0.002503"/>
</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-08-18T20:11:32.484338" elapsed="0.002148"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-08-18T20:11:32.484221" elapsed="0.002306"/>
</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-08-18T20:11:32.486730" elapsed="0.002182"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-08-18T20:11:32.486614" elapsed="0.002339"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:32.481476" elapsed="0.007509"/>
</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-08-18T20:11:31.227767" elapsed="1.261281"/>
</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-08-18T20:11:31.221559" elapsed="1.267539"/>
</kw>
<doc>Get the inventory</doc>
<status status="PASS" start="2026-08-18T20:11:31.221081" elapsed="1.268179"/>
</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-08-18T20:11:32.531461" level="INFO">GET Request : url=http://10.30.171.138: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=node01vepds54irw811x6z636srajrq0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:32.531738" level="INFO">GET Response : url=http://10.30.171.138: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":34464,"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":"3","active-flows":1,"packets-matched":"1"}},{"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-08-18T20:11:32.531964" 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-08-18T20:11:32.499620" elapsed="0.032371"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.534179" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":34464,"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":"3","active-flows":1,"packets-matched":"1"}},{"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-08-18T20:11:31.720Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"36:b8:db:95:56:68","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":"3","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":772000000},"bytes":{"transmitted":"261","received":"261"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"5a:e0:59:31:f0:a7","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":0,"nanosecond":772000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"46:00:c4:94:45:75","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":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":772000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"72:16:d0:cd:ee: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":0,"nanosecond":767000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:31.954Z"}},{"id":"openflow:1","flow-node-inventory:port-number":34458,"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":"3"}},{"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-08-18T20:11:31.724Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"4e:4e:06:b2:55:35","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":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":748000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:07:aa:3c:96:44","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":741000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"aa:db:19:1d:92:30","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":"3","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":748000000},"bytes":{"transmitted":"261","received":"261"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:31.942Z"}},{"id":"openflow:2","flow-node-inventory:port-number":34466,"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":"3","active-flows":1,"packets-matched":"1"}},{"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-08-18T20:11:31.721Z"},"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:bd:67:7c:b2:7e","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":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":755000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"9a:9d:4f:b1:5c:4f","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":750000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"3a:9d:4d:b0:51:e9","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":"1"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":755000000},"bytes":{"transmitted":"351","received":"90"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:be:fb:c7:80:2a","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":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":755000000},"bytes":{"transmitted":"351","received":"176"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:31.940Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:32.532139" elapsed="0.003114"/>
</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-08-18T20:11:32.535389" elapsed="0.000169"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.538035" 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-08-18T20:11:32.535696" elapsed="0.002793"/>
</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-08-18T20:11:32.499241" elapsed="0.039311"/>
</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-08-18T20:11:32.490248" elapsed="0.048357"/>
</kw>
<kw name="Report Failure Due To Bug" owner="Utils" type="TEARDOWN">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.539841" 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-08-18T20:11:32.539331" elapsed="0.000538"/>
</kw>
<if>
<branch type="IF" condition="('${TEST_STATUS}' != 'FAIL') or ${test_skipped}">
<return>
<status status="PASS" start="2026-08-18T20:11:32.540103" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:11:32.539950" elapsed="0.000227"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:32.539929" elapsed="0.000272"/>
</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-08-18T20:11:32.540332" elapsed="0.000021"/>
</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-08-18T20:11:32.540485" elapsed="0.000020"/>
</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-08-18T20:11:32.540639" elapsed="0.000021"/>
</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-08-18T20:11:32.540797" elapsed="0.000020"/>
</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-08-18T20:11:32.540935" elapsed="0.000019"/>
</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-08-18T20:11:32.541066" elapsed="0.000020"/>
</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-08-18T20:11:32.541203" elapsed="0.000019"/>
</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-08-18T20:11:32.541404" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:32.541283" elapsed="0.000171"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:11:32.541267" elapsed="0.000210"/>
</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-08-18T20:11:32.538981" elapsed="0.002545"/>
</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-08-18T20:11:32.489712" elapsed="0.051859"/>
</test>
<test id="s1-s1-s1-t3" name="Get node 1 inventory" line="50">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.542690" 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-08-18T20:11:32.542258" elapsed="0.000459"/>
</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-08-18T20:11:32.562134" level="INFO">GET Request : url=http://10.30.171.138: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=node01vepds54irw811x6z636srajrq0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:32.562320" level="INFO">GET Response : url=http://10.30.171.138: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":34458,"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":"3"}},{"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-08-18T20:11:32.562538" 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-08-18T20:11:32.549723" elapsed="0.012842"/>
</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-08-18T20:11:32.562949" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:32.562645" elapsed="0.000361"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.565184" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":34458,"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":"3"}},{"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-08-18T20:11:31.724Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"4e:4e:06:b2:55:35","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":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":748000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"4a:07:aa:3c:96:44","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":741000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"aa:db:19:1d:92:30","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":"3","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":748000000},"bytes":{"transmitted":"261","received":"261"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:31.942Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:32.563147" elapsed="0.002408"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:32.563030" elapsed="0.002560"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:32.562625" elapsed="0.002987"/>
</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-08-18T20:11:32.565736" elapsed="0.000192"/>
</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-08-18T20:11:32.566239" elapsed="0.002105"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.566124" elapsed="0.002260"/>
</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-08-18T20:11:32.568587" elapsed="0.002080"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.568472" elapsed="0.002235"/>
</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-08-18T20:11:32.570922" elapsed="0.002106"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.570807" elapsed="0.002261"/>
</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-08-18T20:11:32.573267" elapsed="0.002092"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.573153" elapsed="0.002246"/>
</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-08-18T20:11:32.575596" elapsed="0.002079"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-08-18T20:11:32.575483" elapsed="0.002235"/>
</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-08-18T20:11:32.577932" elapsed="0.002115"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.230"</var>
<status status="PASS" start="2026-08-18T20:11:32.577818" elapsed="0.002270"/>
</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-08-18T20:11:32.580282" elapsed="0.002082"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-08-18T20:11:32.580169" elapsed="0.002235"/>
</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-08-18T20:11:32.582600" elapsed="0.002165"/>
</kw>
<var name="${i}">openflow:1:1</var>
<status status="PASS" start="2026-08-18T20:11:32.582487" elapsed="0.002318"/>
</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-08-18T20:11:32.585004" elapsed="0.002122"/>
</kw>
<var name="${i}">openflow:1:2</var>
<status status="PASS" start="2026-08-18T20:11:32.584887" elapsed="0.002278"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:32.565986" elapsed="0.021209"/>
</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-08-18T20:11:32.549239" elapsed="0.038014"/>
</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-08-18T20:11:32.542894" elapsed="0.044437"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-08-18T20:11:32.541852" elapsed="0.045596"/>
</test>
<test id="s1-s1-s1-t4" name="Get node 2 inventory" line="61">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.588720" 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-08-18T20:11:32.588189" elapsed="0.000584"/>
</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-08-18T20:11:32.609992" level="INFO">GET Request : url=http://10.30.171.138: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=node01vepds54irw811x6z636srajrq0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:32.610426" level="INFO">GET Response : url=http://10.30.171.138: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":34466,"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":"3","active-flows":1,"packets-matched":"1"}},{"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-08-18T20:11:32.610944" 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-08-18T20:11:32.595729" elapsed="0.015275"/>
</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-08-18T20:11:32.611923" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:32.611185" elapsed="0.000867"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.618193" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:2","flow-node-inventory:port-number":34466,"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":"3","active-flows":1,"packets-matched":"1"}},{"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-08-18T20:11:31.721Z"},"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:bd:67:7c:b2:7e","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":"4","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":755000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"9a:9d:4f:b1:5c:4f","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":750000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"3a:9d:4d:b0:51:e9","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":"1"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":755000000},"bytes":{"transmitted":"351","received":"90"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:be:fb:c7:80:2a","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":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":755000000},"bytes":{"transmitted":"351","received":"176"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:31.940Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:32.612369" elapsed="0.006735"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:32.612107" elapsed="0.007079"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:32.611139" elapsed="0.008096"/>
</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-08-18T20:11:32.619562" elapsed="0.000262"/>
</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-08-18T20:11:32.620140" elapsed="0.002117"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.620023" elapsed="0.002273"/>
</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-08-18T20:11:32.622491" elapsed="0.002114"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.622378" elapsed="0.002267"/>
</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-08-18T20:11:32.624855" elapsed="0.002080"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.624725" elapsed="0.002250"/>
</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-08-18T20:11:32.627172" elapsed="0.002156"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.627057" elapsed="0.002311"/>
</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-08-18T20:11:32.629565" elapsed="0.002169"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-08-18T20:11:32.629450" elapsed="0.002340"/>
</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-08-18T20:11:32.631988" elapsed="0.002123"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.230"</var>
<status status="PASS" start="2026-08-18T20:11:32.631873" elapsed="0.002278"/>
</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-08-18T20:11:32.634346" elapsed="0.002187"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-08-18T20:11:32.634232" elapsed="0.002342"/>
</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-08-18T20:11:32.636793" elapsed="0.002140"/>
</kw>
<var name="${i}">openflow:2:1</var>
<status status="PASS" start="2026-08-18T20:11:32.636655" elapsed="0.002318"/>
</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-08-18T20:11:32.639167" elapsed="0.002165"/>
</kw>
<var name="${i}">openflow:2:2</var>
<status status="PASS" start="2026-08-18T20:11:32.639053" elapsed="0.002319"/>
</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-08-18T20:11:32.641568" elapsed="0.002130"/>
</kw>
<var name="${i}">openflow:2:3</var>
<status status="PASS" start="2026-08-18T20:11:32.641453" elapsed="0.002286"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:32.619885" elapsed="0.023899"/>
</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-08-18T20:11:32.595206" elapsed="0.048643"/>
</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-08-18T20:11:32.588955" elapsed="0.054945"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-08-18T20:11:32.587696" elapsed="0.056330"/>
</test>
<test id="s1-s1-s1-t5" name="Get node 3 inventory" line="72">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.645200" 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-08-18T20:11:32.644769" elapsed="0.000459"/>
</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-08-18T20:11:32.667866" level="INFO">GET Request : url=http://10.30.171.138: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=node01vepds54irw811x6z636srajrq0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:32.668124" level="INFO">GET Response : url=http://10.30.171.138: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":34464,"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":"3","active-flows":1,"packets-matched":"1"}},{"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-08-18T20:11:32.668418" 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-08-18T20:11:32.652261" elapsed="0.016194"/>
</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-08-18T20:11:32.668986" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:32.668569" elapsed="0.000498"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.672201" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:3","flow-node-inventory:port-number":34464,"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":"3","active-flows":1,"packets-matched":"1"}},{"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-08-18T20:11:31.720Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"36:b8:db:95:56:68","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":"3","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":772000000},"bytes":{"transmitted":"261","received":"261"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"5a:e0:59:31:f0:a7","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":0,"nanosecond":772000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"46:00:c4:94:45:75","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":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":772000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"72:16:d0:cd:ee: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":0,"nanosecond":767000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:31.954Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:32.669264" elapsed="0.003458"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:32.669101" elapsed="0.003692"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:32.668540" elapsed="0.004284"/>
</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-08-18T20:11:32.672993" elapsed="0.000230"/>
</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-08-18T20:11:32.673644" elapsed="0.002955"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.673485" elapsed="0.003154"/>
</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-08-18T20:11:32.676850" elapsed="0.002129"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.676721" elapsed="0.002299"/>
</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-08-18T20:11:32.679213" elapsed="0.002135"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.679100" elapsed="0.002288"/>
</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-08-18T20:11:32.681583" elapsed="0.002107"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-08-18T20:11:32.681468" elapsed="0.002264"/>
</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-08-18T20:11:32.683942" elapsed="0.002078"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-08-18T20:11:32.683829" elapsed="0.002231"/>
</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-08-18T20:11:32.686254" elapsed="0.002109"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.230"</var>
<status status="PASS" start="2026-08-18T20:11:32.686140" elapsed="0.002263"/>
</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-08-18T20:11:32.688596" elapsed="0.002093"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-08-18T20:11:32.688483" elapsed="0.002247"/>
</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-08-18T20:11:32.690944" elapsed="0.002199"/>
</kw>
<var name="${i}">openflow:3:1</var>
<status status="PASS" start="2026-08-18T20:11:32.690828" elapsed="0.002355"/>
</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-08-18T20:11:32.693386" elapsed="0.002151"/>
</kw>
<var name="${i}">openflow:3:2</var>
<status status="PASS" start="2026-08-18T20:11:32.693264" elapsed="0.002313"/>
</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-08-18T20:11:32.695795" elapsed="0.002127"/>
</kw>
<var name="${i}">openflow:3:3</var>
<status status="PASS" start="2026-08-18T20:11:32.695658" elapsed="0.002306"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:32.673301" elapsed="0.024693"/>
</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-08-18T20:11:32.651778" elapsed="0.046273"/>
</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-08-18T20:11:32.645393" elapsed="0.052709"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-08-18T20:11:32.644317" elapsed="0.053899"/>
</test>
<test id="s1-s1-s1-t6" name="Link Down" line="83">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:32.702068" 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-08-18T20:11:32.698935" elapsed="0.003191"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:32.706712" 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-08-18T20:11:32.702272" elapsed="0.004510"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.707202" 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-08-18T20:11:32.706919" elapsed="0.000310"/>
</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-08-18T20:11:32.724189" level="INFO">GET Request : url=http://10.30.171.138: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=node01vepds54irw811x6z636srajrq0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:32.724313" level="INFO">GET Response : url=http://10.30.171.138: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': '610'} 
 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":"4e:4e:06:b2:55:35","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":false}}]} 
 </msg>
<msg time="2026-08-18T20:11:32.724449" 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-08-18T20:11:32.713906" elapsed="0.010570"/>
</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-08-18T20:11:32.725076" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:32.724556" elapsed="0.000647"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.730111" 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":"4e:4e:06:b2:55:35","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":false}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:32.725519" elapsed="0.004707"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:32.725257" elapsed="0.005044"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:32.724536" elapsed="0.005812"/>
</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-08-18T20:11:32.730608" elapsed="0.000401"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:11:32.736278" level="FAIL">'{"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":"4e:4e:06:b2:55:35","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":false}}]}' does not contain '"link-down":true'</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-08-18T20:11:32.731717" elapsed="0.004728">'{"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":"4e:4e:06:b2:55:35","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":false}}]}' does not contain '"link-down":true'</status>
</kw>
<var name="${i}">"link-down":true</var>
<status status="FAIL" start="2026-08-18T20:11:32.731449" elapsed="0.005078">'{"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":"4e:4e:06:b2:55:35","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":false}}]}' does not contain '"link-down":true'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-18T20:11:32.731135" elapsed="0.005456">'{"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":"4e:4e:06:b2:55:35","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":false}}]}' does not contain '"link-down":true'</status>
</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="FAIL" start="2026-08-18T20:11:32.713410" elapsed="0.023287">'{"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":"4e:4e:06:b2:55:35","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":false}}]}' does not contain '"link-down":true'</status>
</kw>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:34.761240" level="INFO">GET Request : url=http://10.30.171.138: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=node01vepds54irw811x6z636srajrq0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:34.761409" level="INFO">GET Response : url=http://10.30.171.138: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":"4e:4e:06:b2:55:35","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-08-18T20:11:34.761518" 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-08-18T20:11:34.749250" elapsed="0.012295"/>
</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-08-18T20:11:34.762370" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:34.761701" elapsed="0.000800"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.767424" 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":"4e:4e:06:b2:55:35","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-08-18T20:11:34.762861" elapsed="0.004680"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:34.762556" elapsed="0.005062"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:34.761676" elapsed="0.005989"/>
</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-08-18T20:11:34.767965" elapsed="0.000377"/>
</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-08-18T20:11:34.769089" elapsed="0.004191"/>
</kw>
<var name="${i}">"link-down":true</var>
<status status="PASS" start="2026-08-18T20:11:34.768822" elapsed="0.004498"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:34.768492" elapsed="0.004861"/>
</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-08-18T20:11:34.748394" elapsed="0.025016"/>
</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-08-18T20:11:32.707399" elapsed="2.066064"/>
</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-08-18T20:11:34.788952" level="INFO">GET Request : url=http://10.30.171.138: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=node01vepds54irw811x6z636srajrq0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:34.789223" level="INFO">GET Response : url=http://10.30.171.138: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:bd:67:7c:b2:7e","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-08-18T20:11:34.789442" 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-08-18T20:11:34.780140" elapsed="0.009358"/>
</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-08-18T20:11:34.790323" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:34.789671" elapsed="0.000779"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.795269" 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:bd:67:7c:b2:7e","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-08-18T20:11:34.790806" elapsed="0.004575"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:34.790502" elapsed="0.004955"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:34.789628" elapsed="0.005875"/>
</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-08-18T20:11:34.795795" elapsed="0.000373"/>
</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-08-18T20:11:34.796878" elapsed="0.004578"/>
</kw>
<var name="${i}">"link-down":true</var>
<status status="PASS" start="2026-08-18T20:11:34.796597" elapsed="0.004899"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:34.796290" elapsed="0.005236"/>
</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-08-18T20:11:34.779643" elapsed="0.021938"/>
</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-08-18T20:11:34.773625" elapsed="0.028006"/>
</kw>
<doc>Take link s1-s2 down</doc>
<status status="PASS" start="2026-08-18T20:11:32.698488" elapsed="2.103288"/>
</test>
<test id="s1-s1-s1-t7" name="Link Up" line="101">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:34.804819" 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-08-18T20:11:34.802675" elapsed="0.002202"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:34.810009" 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-08-18T20:11:34.805057" elapsed="0.005009"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.810486" 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-08-18T20:11:34.810203" elapsed="0.000310"/>
</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-08-18T20:11:34.843060" level="INFO">GET Request : url=http://10.30.171.138: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=node01vepds54irw811x6z636srajrq0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:34.843331" level="INFO">GET Response : url=http://10.30.171.138: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":"4e:4e:06:b2:55:35","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-08-18T20:11:34.843547" 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-08-18T20:11:34.817224" elapsed="0.026379"/>
</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-08-18T20:11:34.844432" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:34.843814" elapsed="0.000770"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.849421" 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":"4e:4e:06:b2:55:35","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-08-18T20:11:34.844930" elapsed="0.004604"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:34.844637" elapsed="0.004973"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:34.843739" elapsed="0.005918"/>
</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-08-18T20:11:34.849950" elapsed="0.000363"/>
</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-08-18T20:11:34.851024" elapsed="0.003090"/>
</kw>
<var name="${i}">"link-down":false</var>
<status status="PASS" start="2026-08-18T20:11:34.850737" elapsed="0.003417"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:34.850446" elapsed="0.003737"/>
</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-08-18T20:11:34.816725" elapsed="0.037513"/>
</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-08-18T20:11:34.810657" elapsed="0.043630"/>
</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-08-18T20:11:34.866910" level="INFO">GET Request : url=http://10.30.171.138: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=node01vepds54irw811x6z636srajrq0.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:34.867035" level="INFO">GET Response : url=http://10.30.171.138: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:bd:67:7c:b2:7e","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-08-18T20:11:34.867131" 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-08-18T20:11:34.860995" elapsed="0.006162"/>
</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-08-18T20:11:34.867509" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:34.867235" elapsed="0.000337"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.870145" 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:bd:67:7c:b2:7e","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-08-18T20:11:34.867721" elapsed="0.002541"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:34.867598" elapsed="0.002715"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:34.867216" elapsed="0.003127"/>
</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-08-18T20:11:34.870508" elapsed="0.000229"/>
</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-08-18T20:11:34.871170" elapsed="0.003137"/>
</kw>
<var name="${i}">"link-down":false</var>
<status status="PASS" start="2026-08-18T20:11:34.871012" elapsed="0.003352"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:34.870836" elapsed="0.003570"/>
</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-08-18T20:11:34.860471" elapsed="0.014010"/>
</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-08-18T20:11:34.854439" elapsed="0.020112"/>
</kw>
<doc>Take link s1-s2 up</doc>
<status status="PASS" start="2026-08-18T20:11:34.802234" elapsed="0.072476"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-08-18T20:11:34.875782" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:11:34.875647" elapsed="0.000256"/>
</kw>
<doc>Test suite for RESTCONF inventory</doc>
<status status="PASS" start="2026-08-18T20:11:31.186361" elapsed="3.689590"/>
</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-08-18T20:11:34.907283" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={'Content-Type': 'application/json'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a987c14d10&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-08-18T20:11:34.906957" elapsed="0.000496"/>
</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-08-18T20:11:34.924859" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:11:34.925038" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node01fm2flyqhjssv1fthngrpax6t21.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:11:34 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '3149'} 
 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: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-08-18T20:11:34.925156" 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-08-18T20:11:34.914458" elapsed="0.010723"/>
</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-08-18T20:11:34.925545" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:34.925261" elapsed="0.000340"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.927777" 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: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-08-18T20:11:34.925803" elapsed="0.002044"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:34.925661" elapsed="0.002221"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:34.925241" elapsed="0.002663"/>
</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-08-18T20:11:34.928022" elapsed="0.000164"/>
</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-08-18T20:11:34.928484" elapsed="0.002800"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-08-18T20:11:34.928371" elapsed="0.002969"/>
</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-08-18T20:11:34.931613" elapsed="0.002831"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-08-18T20:11:34.931454" elapsed="0.003046"/>
</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-08-18T20:11:34.934791" elapsed="0.002632"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-08-18T20:11:34.934612" elapsed="0.002850"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:34.928242" elapsed="0.009250"/>
</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-08-18T20:11:34.914072" elapsed="0.023473"/>
</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-08-18T20:11:34.907948" elapsed="0.029647"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:34.942834" level="INFO">GET Request : url=http://10.30.171.138: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=node01fm2flyqhjssv1fthngrpax6t21.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:34.942994" level="INFO">GET Response : url=http://10.30.171.138: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': '3149'} 
 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: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-08-18T20:11:34.943145" 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-08-18T20:11:34.937734" elapsed="0.005437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.945553" 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: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-08-18T20:11:34.943319" elapsed="0.002330"/>
</kw>
<doc>Get RESTCONF Topology and validate the result.</doc>
<status status="PASS" start="2026-08-18T20:11:34.907530" elapsed="0.038297"/>
</test>
<test id="s1-s1-s2-t2" name="List all the links" line="31">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.947656" 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-08-18T20:11:34.947068" elapsed="0.000627"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.948569" 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-08-18T20:11:34.948115" elapsed="0.000492"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.949382" 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-08-18T20:11:34.948832" elapsed="0.000589"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.950102" 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-08-18T20:11:34.949640" elapsed="0.000520"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.950790" 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-08-18T20:11:34.950352" elapsed="0.000475"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.951439" 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-08-18T20:11:34.951027" elapsed="0.000447"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.952233" 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-08-18T20:11:34.951670" elapsed="0.000600"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.952969" 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-08-18T20:11:34.952473" elapsed="0.000568"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.953501" 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-08-18T20:11:34.953204" elapsed="0.000322"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.953981" 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-08-18T20:11:34.953667" elapsed="0.000372"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.954574" 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-08-18T20:11:34.954185" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.955076" 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-08-18T20:11:34.954772" elapsed="0.000345"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.955551" 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-08-18T20:11:34.955253" elapsed="0.000324"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.956027" 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-08-18T20:11:34.955718" elapsed="0.000335"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.956836" 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-08-18T20:11:34.956194" elapsed="0.000669"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.957320" 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-08-18T20:11:34.957014" elapsed="0.000347"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.957885" 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-08-18T20:11:34.957492" elapsed="0.000421"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:34.965740" level="INFO">GET Request : url=http://10.30.171.138: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=node01fm2flyqhjssv1fthngrpax6t21.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:34.965962" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:34.966109" 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-08-18T20:11:34.958996" elapsed="0.007140"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.968388" 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-08-18T20:11:34.966348" elapsed="0.002109"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.971968" 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-08-18T20:11:34.971240" elapsed="0.000769"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-08-18T20:11:34.972090" elapsed="0.000064"/>
</return>
<msg time="2026-08-18T20:11:34.972398" 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-08-18T20:11:34.968698" elapsed="0.003738"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.973128" 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-08-18T20:11:34.972646" elapsed="0.000577"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:34.973727" 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-08-18T20:11:34.973413" elapsed="0.000420"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-08-18T20:11:34.974360" 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-08-18T20:11:34.974041" elapsed="0.000357"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:34.974887" 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-08-18T20:11:34.974589" elapsed="0.000338"/>
</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-08-18T20:11:34.975386" elapsed="0.000491"/>
</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-08-18T20:11:34.975225" elapsed="0.000709"/>
</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-08-18T20:11:34.976223" elapsed="0.000485"/>
</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-08-18T20:11:34.976067" elapsed="0.000737"/>
</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-08-18T20:11:34.977057" elapsed="0.000309"/>
</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-08-18T20:11:34.976937" elapsed="0.000468"/>
</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-08-18T20:11:34.977607" elapsed="0.000326"/>
</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-08-18T20:11:34.977495" elapsed="0.000477"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-08-18T20:11:34.975015" elapsed="0.002987"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-08-18T20:11:34.958674" elapsed="0.019385"/>
</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-08-18T20:11:34.958067" elapsed="0.020036"/>
</kw>
<doc>List all the links in the topology.</doc>
<status status="PASS" start="2026-08-18T20:11:34.946357" elapsed="0.031865"/>
</test>
<test id="s1-s1-s2-t3" name="Link Down" line="52">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:34.981045" 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-08-18T20:11:34.979150" elapsed="0.001956"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:34.985249" 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-08-18T20:11:34.981247" elapsed="0.004059"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.985804" 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-08-18T20:11:34.985443" elapsed="0.000391"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:34.994415" level="INFO">GET Request : url=http://10.30.171.138: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=node01fm2flyqhjssv1fthngrpax6t21.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:34.994656" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:34.994940" 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-08-18T20:11:34.986801" elapsed="0.008187"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:34.998331" 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-08-18T20:11:34.995196" elapsed="0.003233"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:11:35.002233" 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-08-18T20:11:35.001562" elapsed="0.000712"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-08-18T20:11:35.002345" elapsed="0.000047"/>
</return>
<msg time="2026-08-18T20:11:35.002624" 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-08-18T20:11:34.998692" elapsed="0.003970"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:35.003276" 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-08-18T20:11:35.002871" elapsed="0.000541"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:35.003940" 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-08-18T20:11:35.003605" elapsed="0.000375"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-08-18T20:11:35.004479" 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-08-18T20:11:35.004171" elapsed="0.000347"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:35.005017" 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-08-18T20:11:35.004727" elapsed="0.000328"/>
</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-08-18T20:11:35.005486" elapsed="0.000466"/>
</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-08-18T20:11:35.005329" elapsed="0.000679"/>
</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-08-18T20:11:35.006289" elapsed="0.000431"/>
</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-08-18T20:11:35.006134" elapsed="0.000661"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-08-18T20:11:35.005132" elapsed="0.001707"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-08-18T20:11:34.986478" elapsed="0.020435"/>
</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-08-18T20:11:34.985985" elapsed="0.020987"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:35.009188" 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-08-18T20:11:35.007156" elapsed="0.002111"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:35.032499" level="INFO">_uuid               : f095eb31-5c32-41f4-b374-d74106bd50e7
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          : "4e:4e:06:b2:55:35"
mtu                 : 1500
mtu_request         : []
name                : s1-eth1
ofport              : 1
ofport_request      : 1
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=90, 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=1, tx_bytes=90, tx_dropped=0, tx_errors=0, tx_packets=1}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<msg time="2026-08-18T20:11:35.032626" level="INFO">${output} = _uuid               : f095eb31-5c32-41f4-b374-d74106bd50e7
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-08-18T20:11:35.009459" elapsed="0.023195"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:35.033050" level="INFO">_uuid               : f095eb31-5c32-41f4-b374-d74106bd50e7
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          : "4e:4e:06:b2:55:35"
mtu                 : 1500
mtu_request         : []
name                : s1-eth1
ofport              : 1
ofport_request      : 1
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=90, 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=1, tx_bytes=90, tx_dropped=0, tx_errors=0, tx_packets=1}
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-08-18T20:11:35.032804" elapsed="0.000302"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:35.034682" 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-08-18T20:11:35.033232" elapsed="0.001504"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:35.054213" level="INFO">_uuid               : 116c5456-b828-4eac-91d0-6a59a112a0a0
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          : "aa:db:19:1d:92:30"
mtu                 : 1500
mtu_request         : []
name                : s1-eth2
ofport              : 2
ofport_request      : 2
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=90, 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=1, tx_bytes=90, tx_dropped=0, tx_errors=0, tx_packets=1}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<msg time="2026-08-18T20:11:35.054349" level="INFO">${output} = _uuid               : 116c5456-b828-4eac-91d0-6a59a112a0a0
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-08-18T20:11:35.034886" elapsed="0.019490"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:35.054771" level="INFO">_uuid               : 116c5456-b828-4eac-91d0-6a59a112a0a0
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          : "aa:db:19:1d:92:30"
mtu                 : 1500
mtu_request         : []
name                : s1-eth2
ofport              : 2
ofport_request      : 2
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=90, 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=1, tx_bytes=90, tx_dropped=0, tx_errors=0, tx_packets=1}
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-08-18T20:11:35.054511" elapsed="0.000319"/>
</kw>
<doc>Take link s1-s2 down</doc>
<status status="PASS" start="2026-08-18T20:11:34.978679" elapsed="0.076254"/>
</test>
<test id="s1-s1-s2-t4" name="Link Up" line="69">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:35.057176" 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-08-18T20:11:35.055640" elapsed="0.001594"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:35.066708" 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-08-18T20:11:35.057369" elapsed="0.009413"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:35.067309" 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-08-18T20:11:35.066919" elapsed="0.000418"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:35.074055" level="INFO">GET Request : url=http://10.30.171.138: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=node01fm2flyqhjssv1fthngrpax6t21.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:35.074283" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:35.074438" 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-08-18T20:11:35.068265" elapsed="0.006208"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:35.077822" 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-08-18T20:11:35.074671" elapsed="0.003283"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:11:35.081600" 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-08-18T20:11:35.081148" elapsed="0.000481"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-08-18T20:11:35.081678" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:11:35.081884" 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-08-18T20:11:35.078213" elapsed="0.003699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:35.082322" 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-08-18T20:11:35.082045" elapsed="0.000342"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:35.082729" 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-08-18T20:11:35.082519" elapsed="0.000252"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-08-18T20:11:35.083117" 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-08-18T20:11:35.082908" elapsed="0.000236"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:35.083459" 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-08-18T20:11:35.083278" elapsed="0.000207"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:11:35.084222" 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-08-18T20:11:35.083810" elapsed="0.000509">'[{'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-08-18T20:11:35.083676" elapsed="0.000719">'[{'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-08-18T20:11:35.083537" elapsed="0.000955">'[{'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-08-18T20:11:35.067977" elapsed="0.016635">'[{'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-08-18T20:11:37.097214" level="INFO">GET Request : url=http://10.30.171.138: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=node01fm2flyqhjssv1fthngrpax6t21.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:37.097508" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:37.097712" 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-08-18T20:11:37.086401" elapsed="0.011374"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:37.100989" 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-08-18T20:11:37.098016" elapsed="0.003134"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:11:37.105026" 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-08-18T20:11:37.104322" elapsed="0.000746"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-08-18T20:11:37.105143" elapsed="0.000052"/>
</return>
<msg time="2026-08-18T20:11:37.105430" 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-08-18T20:11:37.101423" elapsed="0.004045"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:37.106119" 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-08-18T20:11:37.105662" elapsed="0.000557"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:37.106715" 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-08-18T20:11:37.106409" elapsed="0.000366"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-08-18T20:11:37.107234" 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-08-18T20:11:37.107004" elapsed="0.000257"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:37.107583" 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-08-18T20:11:37.107397" elapsed="0.000213"/>
</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-08-18T20:11:37.107944" elapsed="0.000332"/>
</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-08-18T20:11:37.107830" elapsed="0.000485"/>
</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-08-18T20:11:37.108517" elapsed="0.000324"/>
</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-08-18T20:11:37.108407" elapsed="0.000473"/>
</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-08-18T20:11:37.109082" elapsed="0.000310"/>
</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-08-18T20:11:37.108971" elapsed="0.000461"/>
</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-08-18T20:11:37.109666" elapsed="0.000342"/>
</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-08-18T20:11:37.109554" elapsed="0.000494"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-08-18T20:11:37.107668" elapsed="0.002411"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-08-18T20:11:37.085407" elapsed="0.024728"/>
</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-08-18T20:11:35.067488" elapsed="2.042693"/>
</kw>
<doc>Take link s1-s2 up</doc>
<status status="PASS" start="2026-08-18T20:11:35.055248" elapsed="2.055056"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-08-18T20:11:37.111034" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:11:37.110955" elapsed="0.000152"/>
</kw>
<doc>Test suite for RESTCONF Topology</doc>
<status status="PASS" start="2026-08-18T20:11:34.877420" elapsed="2.233721"/>
</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-08-18T20:11:37.143469" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a986384790&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-08-18T20:11:37.143146" elapsed="0.000477"/>
</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-08-18T20:11:37.175254" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:11:37.175816" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node01mpu5fj7va9r61aacw3wqgpb0c2.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:11:37 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":34464,"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":"14","active-flows":1,"packets-matched":"12"},"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":"12","byte-count":"1015","duration":{"second":3,"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... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:11:37.176442" 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-08-18T20:11:37.150717" elapsed="0.025786"/>
</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-08-18T20:11:37.177461" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:37.176692" elapsed="0.000899"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:37.182358" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":34464,"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":"14","active-flows":1,"packets-matched":"12"},"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":"12","byte-count":"1015","duration":{"second":3,"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":"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-08-18T20:11:34.802Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"36:b8:db:95:56:68","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":"7","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":880000000},"bytes":{"transmitted":"601","received":"601"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"5a:e0:59:31:f0:a7","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":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":880000000},"bytes":{"transmitted":"601","received":"516"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"46:00:c4:94:45:75","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":3,"nanosecond":880000000},"bytes":{"transmitted":"601","received":"516"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"72:16:d0:cd:ee: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":3,"nanosecond":875000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:35.061Z"}},{"id":"openflow:1","flow-node-inventory:port-number":34458,"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":"13","active-flows":1,"packets-matched":"11"},"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":"9","byte-count":"760","duration":{"second":3,"nanosecond":19000000}},"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-08-18T20:11:34.809Z"},"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":"4e:4e:06:b2:55:35","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:07:aa:3c:96:44","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":3,"nanosecond":880000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"aa:db:19:1d:92:30","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":3,"nanosecond":887000000},"bytes":{"transmitted":"601","received":"601"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:35.062Z"}},{"id":"openflow:2","flow-node-inventory:port-number":34466,"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":"13"},"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":"11","byte-count":"938","duration":{"second":3,"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":"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-08-18T20:11:34.809Z"},"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:bd:67:7c:b2:7e","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},"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":3,"nanosecond":908000000},"bytes":{"transmitted":"947","received":"701"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"9a:9d:4f:b1:5c:4f","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":3,"nanosecond":903000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"3a:9d:4d:b0:51:e9","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":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":908000000},"bytes":{"transmitted":"601","received":"516"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"66:be:fb:c7:80:2a","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":3,"nanosecond":908000000},"bytes":{"transmitted":"601","received":"516"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:35.088Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:37.177974" elapsed="0.005892"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:37.177647" elapsed="0.006269"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:37.176645" elapsed="0.007301"/>
</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-08-18T20:11:37.184111" elapsed="0.000231"/>
</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-08-18T20:11:37.184779" elapsed="0.002876"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-08-18T20:11:37.184598" elapsed="0.003112"/>
</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-08-18T20:11:37.188023" elapsed="0.002954"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-08-18T20:11:37.187846" elapsed="0.003182"/>
</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-08-18T20:11:37.191222" elapsed="0.002028"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-08-18T20:11:37.191109" elapsed="0.002181"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:37.184419" elapsed="0.008900"/>
</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-08-18T20:11:37.150329" elapsed="0.043052"/>
</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-08-18T20:11:37.144285" elapsed="0.049146"/>
</kw>
<doc>Get the stats for all nodes</doc>
<status status="PASS" start="2026-08-18T20:11:37.143691" elapsed="0.049856"/>
</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-08-18T20:11:37.211103" level="INFO">GET Request : url=http://10.30.171.138: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=node01mpu5fj7va9r61aacw3wqgpb0c2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:37.211510" level="INFO">GET Response : url=http://10.30.171.138: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":34458,"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":"13","active-flows":1,"packets-matched":"11"},"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":"9","byte-count":"760","duration":{"second":3,"nanosecond":19000000}},"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,"open... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:11:37.212000" 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-08-18T20:11:37.197990" elapsed="0.014068"/>
</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-08-18T20:11:37.212387" elapsed="0.004511"/>
</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-08-18T20:11:37.217213" elapsed="0.004435"/>
</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-08-18T20:11:37.197659" elapsed="0.024199"/>
</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-08-18T20:11:37.194430" elapsed="0.027534"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-08-18T20:11:37.193966" elapsed="0.028237"/>
</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-08-18T20:11:37.241649" level="INFO">GET Request : url=http://10.30.171.138: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=node01mpu5fj7va9r61aacw3wqgpb0c2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:37.242106" level="INFO">GET Response : url=http://10.30.171.138: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":34466,"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":"13"},"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":"11","byte-count":"938","duration":{"second":3,"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,"ope... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:11:37.242554" 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-08-18T20:11:37.226580" elapsed="0.016031"/>
</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-08-18T20:11:37.242970" elapsed="0.005035"/>
</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-08-18T20:11:37.248318" elapsed="0.003518"/>
</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-08-18T20:11:37.226292" elapsed="0.025607"/>
</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-08-18T20:11:37.223270" elapsed="0.028675"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-08-18T20:11:37.222775" elapsed="0.029277"/>
</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-08-18T20:11:37.269037" level="INFO">GET Request : url=http://10.30.171.138: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=node01mpu5fj7va9r61aacw3wqgpb0c2.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:37.269441" level="INFO">GET Response : url=http://10.30.171.138: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":34464,"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":"14","active-flows":1,"packets-matched":"12"},"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":"12","byte-count":"1015","duration":{"second":3,"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,"ope... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:11:37.269943" 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-08-18T20:11:37.255927" elapsed="0.014076"/>
</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-08-18T20:11:37.270329" elapsed="0.004567"/>
</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-08-18T20:11:37.275213" elapsed="0.004208"/>
</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-08-18T20:11:37.255616" elapsed="0.023868"/>
</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-08-18T20:11:37.252617" elapsed="0.026914"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-08-18T20:11:37.252273" elapsed="0.027365"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-08-18T20:11:37.280088" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:11:37.280011" elapsed="0.000143"/>
</kw>
<doc>Test suite for RESTCONF statistics</doc>
<status status="PASS" start="2026-08-18T20:11:37.111966" elapsed="0.168220"/>
</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-08-18T20:11:37.310981" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a986386dd0&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-08-18T20:11:37.310646" elapsed="0.000479"/>
</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-08-18T20:11:37.340247" level="INFO">PUT Request : url=http://10.30.171.138: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-08-18T20:11:37.340307" level="INFO">PUT Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0/flow=152 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node018tk9uzv0604wfhz01awhwmgs3.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:11:37 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:37.340405" 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-08-18T20:11:37.311600" elapsed="0.028831"/>
</kw>
<doc>Push a flow through REST-API</doc>
<status status="PASS" start="2026-08-18T20:11:37.311192" elapsed="0.029352"/>
</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-08-18T20:11:37.355959" level="INFO">GET Request : url=http://10.30.171.138: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=node018tk9uzv0604wfhz01awhwmgs3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:37.356223" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:37.356436" 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-08-18T20:11:37.341219" elapsed="0.015274"/>
</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-08-18T20:11:37.356846" elapsed="0.004326"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-08-18T20:11:37.340792" elapsed="0.020627"/>
</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-08-18T20:11:37.363368" 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-08-18T20:11:37.363002" elapsed="0.000402"/>
</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-08-18T20:11:37.377024" level="INFO">GET Request : url=http://10.30.171.138: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=node018tk9uzv0604wfhz01awhwmgs3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:37.377244" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:37.377339" 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-08-18T20:11:37.368468" elapsed="0.008897"/>
</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-08-18T20:11:37.377730" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:37.377448" elapsed="0.000361"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:37.381181" 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-08-18T20:11:37.377994" elapsed="0.003293"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:37.377860" elapsed="0.003502"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:37.377426" elapsed="0.003983"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:37.382184" level="FAIL">Url: http://10.30.171.138: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-08-18T20:11:37.381668" elapsed="0.002103">Url: http://10.30.171.138: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-08-18T20:11:37.384319" elapsed="0.000047"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-08-18T20:11:37.384065" elapsed="0.000379"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="NOT RUN" start="2026-08-18T20:11:37.383933" elapsed="0.000570"/>
</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-08-18T20:11:37.367838" elapsed="0.016880">Url: http://10.30.171.138: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-08-18T20:11:39.402462" level="INFO">GET Request : url=http://10.30.171.138: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=node018tk9uzv0604wfhz01awhwmgs3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:39.402686" level="INFO">GET Response : url=http://10.30.171.138: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":0,"nanosecond":648000000}},"flags":""}]} 
 </msg>
<msg time="2026-08-18T20:11:39.402882" 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-08-18T20:11:39.393058" elapsed="0.009895"/>
</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-08-18T20:11:39.403532" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:39.403096" elapsed="0.000516"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:39.406594" 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":0,"nanosecond":648000000}},"flags":""}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:39.403846" elapsed="0.002818"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:39.403648" elapsed="0.003063"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:39.403062" elapsed="0.003698"/>
</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-08-18T20:11:39.406957" elapsed="0.000243"/>
</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-08-18T20:11:39.407645" elapsed="0.002891"/>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="PASS" start="2026-08-18T20:11:39.407467" elapsed="0.003125"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:39.407281" elapsed="0.003355"/>
</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-08-18T20:11:39.392252" elapsed="0.018463"/>
</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-08-18T20:11:37.363604" elapsed="2.047206"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-08-18T20:11:37.362003" elapsed="2.049098"/>
</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-08-18T20:11:39.423639" level="INFO">DELETE Request : url=http://10.30.171.138: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=node018tk9uzv0604wfhz01awhwmgs3.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:39.423683" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:11:39.423789" 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-08-18T20:11:39.412053" elapsed="0.011763"/>
</kw>
<doc>Remove a flow</doc>
<status status="PASS" start="2026-08-18T20:11:39.411501" elapsed="0.012497"/>
</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-08-18T20:11:39.437126" level="INFO">GET Request : url=http://10.30.171.138: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=node018tk9uzv0604wfhz01awhwmgs3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:39.437280" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:39.437412" 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-08-18T20:11:39.425497" elapsed="0.011952"/>
</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-08-18T20:11:39.437661" elapsed="0.003233"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-08-18T20:11:39.424500" elapsed="0.016644"/>
</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-08-18T20:11:39.443348" 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-08-18T20:11:39.442692" elapsed="0.000718"/>
</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-08-18T20:11:39.461873" level="INFO">GET Request : url=http://10.30.171.138: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=node018tk9uzv0604wfhz01awhwmgs3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:39.462250" level="INFO">GET Response : url=http://10.30.171.138: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': '1097'} 
 body={"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"23","active-flows":2,"packets-matched":"21"},"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":"21","byte-count":"1776","duration":{"second":6,"nanosecond":258000000}},"flags":"SEND_FLOW_REM"},{"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":0,"nanosecond":648000000}},"flags":""}]}]} 
 </msg>
<msg time="2026-08-18T20:11:39.462357" 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-08-18T20:11:39.455374" elapsed="0.007013"/>
</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-08-18T20:11:39.462996" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:39.462508" elapsed="0.000569"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:39.466507" level="INFO">{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"23","active-flows":2,"packets-matched":"21"},"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":"21","byte-count":"1776","duration":{"second":6,"nanosecond":258000000}},"flags":"SEND_FLOW_REM"},{"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":0,"nanosecond":648000000}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:39.463280" elapsed="0.003304"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:39.463113" elapsed="0.003578"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:39.462472" elapsed="0.004252"/>
</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-08-18T20:11:39.467099" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:11:39.467044" elapsed="0.000117"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:11:39.467019" elapsed="0.000171"/>
</if>
<status status="NOT RUN" start="2026-08-18T20:11:39.466827" elapsed="0.000393"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:39.466803" elapsed="0.000444"/>
</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-08-18T20:11:39.467408" elapsed="0.000236"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:11:39.471238" level="FAIL">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"23","active-flows":2,"packets-matched":"21"},"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":"21","byte-count":"1776","duration":{"second":6,"nanosecond":258000000}},"flags":"SEND_FLOW_REM"},{"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":0,"nanosecond":648000000}},"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-08-18T20:11:39.468097" elapsed="0.003274">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"23","active-flows":2,"packets-matched":"21"},"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":"21","byte-count":"1776","duration":{"second":6,"nanosecond":258000000}},"flags":"SEND_FLOW_REM"},{"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":0,"nanosecond":648000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="FAIL" start="2026-08-18T20:11:39.467928" elapsed="0.003557">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"23","active-flows":2,"packets-matched":"21"},"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":"21","byte-count":"1776","duration":{"second":6,"nanosecond":258000000}},"flags":"SEND_FLOW_REM"},{"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":0,"nanosecond":648000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-18T20:11:39.467724" elapsed="0.003852">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"23","active-flows":2,"packets-matched":"21"},"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":"21","byte-count":"1776","duration":{"second":6,"nanosecond":258000000}},"flags":"SEND_FLOW_REM"},{"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":0,"nanosecond":648000000}},"flags":""}]}]}' 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-08-18T20:11:39.454726" elapsed="0.017002">'{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"23","active-flows":2,"packets-matched":"21"},"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":"21","byte-count":"1776","duration":{"second":6,"nanosecond":258000000}},"flags":"SEND_FLOW_REM"},{"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":0,"nanosecond":648000000}},"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-08-18T20:11:41.491548" level="INFO">GET Request : url=http://10.30.171.138: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=node018tk9uzv0604wfhz01awhwmgs3.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:41.491959" level="INFO">GET Response : url=http://10.30.171.138: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': '610'} 
 body={"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"24","active-flows":1,"packets-matched":"22"},"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":"22","byte-count":"1846","duration":{"second":9,"nanosecond":317000000}},"flags":"SEND_FLOW_REM"}]}]} 
 </msg>
<msg time="2026-08-18T20:11:41.492153" 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-08-18T20:11:41.483689" elapsed="0.008505"/>
</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-08-18T20:11:41.492739" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:41.492320" elapsed="0.000521"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:41.496003" level="INFO">{"flow-node-inventory:table":[{"id":0,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"24","active-flows":1,"packets-matched":"22"},"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":"22","byte-count":"1846","duration":{"second":9,"nanosecond":317000000}},"flags":"SEND_FLOW_REM"}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:41.493046" elapsed="0.003051"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:41.492875" elapsed="0.003272"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:41.492289" elapsed="0.003889"/>
</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-08-18T20:11:41.496494" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:11:41.496441" elapsed="0.000109"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:11:41.496421" elapsed="0.000159"/>
</if>
<status status="NOT RUN" start="2026-08-18T20:11:41.496257" elapsed="0.000353"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:41.496234" elapsed="0.000404"/>
</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-08-18T20:11:41.496820" elapsed="0.000240"/>
</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-08-18T20:11:41.497503" elapsed="0.003036"/>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="PASS" start="2026-08-18T20:11:41.497330" elapsed="0.003265"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:41.497143" elapsed="0.003495"/>
</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-08-18T20:11:41.483094" elapsed="0.017620"/>
</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-08-18T20:11:39.443776" elapsed="2.057053"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-08-18T20:11:39.441650" elapsed="2.059380"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-08-18T20:11:41.501652" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:11:41.501572" elapsed="0.000153"/>
</kw>
<doc>Test suite for RESTCONF FRM</doc>
<status status="PASS" start="2026-08-18T20:11:37.280852" elapsed="4.220922"/>
</suite>
<kw name="Stop Mininet" owner="Utils" type="TEARDOWN">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:41.503296" 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-08-18T20:11:41.503077" elapsed="0.000266"/>
</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-08-18T20:11:41.503475" elapsed="0.000141"/>
</kw>
<kw name="Read" owner="SSHLibrary">
<doc>Consumes and returns everything available on the server output.</doc>
<status status="PASS" start="2026-08-18T20:11:41.503755" elapsed="0.000136"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:41.506870" 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-08-18T20:11:41.504045" elapsed="0.002880"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:41.781492" 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 10.819 seconds
[?2004h[jenkins@releng-23793-645-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-08-18T20:11:41.507056" elapsed="0.274510"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:11:41.781720" elapsed="0.000205"/>
</kw>
<doc>Cleanup/Shutdown work that should be done at the completion of all
tests</doc>
<status status="PASS" start="2026-08-18T20:11:41.502812" elapsed="0.279177"/>
</kw>
<doc>Test suite for MD-SAL NSF</doc>
<status status="PASS" start="2026-08-18T20:11:28.114012" elapsed="13.668008"/>
</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-08-18T20:11:41.814007" 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-08-18T20:11:41.813737" 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-08-18T20:11:41.816490" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:41.816226" elapsed="0.000323"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:41.816204" elapsed="0.000371"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:11:41.816898" 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-08-18T20:11:41.817009" 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-08-18T20:11:41.816696" elapsed="0.000340"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:41.817536" level="INFO">Attempting to execute command "sudo mn -c" on remote system "10.30.171.230" 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-08-18T20:11:41.817158" elapsed="0.000424"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:11:41.818103" 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-08-18T20:11:41.817711" elapsed="0.000418"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:11:41.818925" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:11:41.819000" 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-08-18T20:11:41.818625" elapsed="0.000399"/>
</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-08-18T20:11:41.819153" elapsed="0.000323"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:11:41.820303" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:11:42.167589" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:10:47 UTC 2026

  System load:  0.13               Processes:             110
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:11:30 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:11:41.819956" elapsed="0.347805"/>
</kw>
<msg time="2026-08-18T20:11:42.167852" 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-08-18T20:11:41.819613" elapsed="0.348325"/>
</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-08-18T20:11:41.818313" elapsed="0.349751"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:11:42.168529" level="INFO">Executing command 'sudo mn -c'.</msg>
<msg time="2026-08-18T20:11:43.327056" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:11:43.327406" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:11:43.327509" 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-08-18T20:11:42.168273" elapsed="1.159291"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:11:43.327993" elapsed="0.000540"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:43.329600" 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-08-18T20:11:43.328895" elapsed="0.000827"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:11:43.330232" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:11:43.329932" elapsed="0.000409"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:43.329880" elapsed="0.000511"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:11:43.330738" elapsed="0.000101"/>
</return>
<status status="PASS" start="2026-08-18T20:11:43.330507" elapsed="0.000407"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:43.330474" elapsed="0.000615"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:11:43.331175" 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-08-18T20:11:43.335851" elapsed="0.000722"/>
</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-08-18T20:11:43.336904" elapsed="0.000397"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:11:43.337562" elapsed="0.000251"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:11:43.331863" elapsed="0.006074"/>
</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-08-18T20:11:41.815659" elapsed="1.522481"/>
</kw>
<msg time="2026-08-18T20:11:43.338218" 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-08-18T20:11:41.815111" elapsed="1.523178"/>
</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-08-18T20:11:41.814459" elapsed="1.523941"/>
</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-08-18T20:11:43.341034" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:43.340679" elapsed="0.000435"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:43.340652" elapsed="0.000494"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:11:43.341507" 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-08-18T20:11:43.341654" 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-08-18T20:11:43.341309" elapsed="0.000383"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:43.342419" 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.230" 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-08-18T20:11:43.341888" elapsed="0.000597"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:11:43.343187" 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-08-18T20:11:43.342659" elapsed="0.000565"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:11:43.344334" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:11:43.344442" 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-08-18T20:11:43.343938" elapsed="0.000538"/>
</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-08-18T20:11:43.344651" elapsed="0.000509"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:11:43.346252" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:11:43.723502" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:10:47 UTC 2026

  System load:  0.13               Processes:             110
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:11:42 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:11:43.345832" elapsed="0.377760"/>
</kw>
<msg time="2026-08-18T20:11:43.723655" 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-08-18T20:11:43.345354" elapsed="0.378360"/>
</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-08-18T20:11:43.343482" elapsed="0.380332"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:11:43.724206" 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-08-18T20:11:43.767165" level="INFO">Command exited with return code -1.</msg>
<msg time="2026-08-18T20:11:43.767412" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:11:43.767509" 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-08-18T20:11:43.723971" elapsed="0.043589"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:11:43.767893" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:43.769295" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:43.768648" elapsed="0.000740"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:11:43.769849" elapsed="0.000035"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:11:43.769547" elapsed="0.000407"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:43.769502" elapsed="0.000501"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:11:43.770349" elapsed="0.000057"/>
</return>
<status status="PASS" start="2026-08-18T20:11:43.770117" elapsed="0.000360"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:43.770085" elapsed="0.000442"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:11:43.770602" 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-08-18T20:11:43.775184" elapsed="0.000731"/>
</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-08-18T20:11:43.776211" elapsed="0.000326"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:11:43.776825" elapsed="0.000216"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:11:43.771245" elapsed="0.005914"/>
</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-08-18T20:11:43.339968" elapsed="0.437446"/>
</kw>
<msg time="2026-08-18T20:11:43.777529" 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-08-18T20:11:43.339209" elapsed="0.438429"/>
</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-08-18T20:11:43.338600" elapsed="0.439241"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:41.814202" elapsed="1.963760"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:11:43.778575" 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-08-18T20:11:43.778215" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:11:43.779085" 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-08-18T20:11:43.778762" elapsed="0.000364"/>
</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-08-18T20:11:43.780693" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:11:43.780784" 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-08-18T20:11:43.780427" 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-08-18T20:11:43.780935" elapsed="0.000325"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:11:43.782037" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:11:44.144238" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:10:47 UTC 2026

  System load:  0.13               Processes:             110
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:11:43 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:11:43.781716" elapsed="0.362629"/>
</kw>
<msg time="2026-08-18T20:11:44.144418" 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-08-18T20:11:43.781397" elapsed="0.363085"/>
</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-08-18T20:11:43.780028" elapsed="0.364551"/>
</kw>
<msg time="2026-08-18T20:11:44.144692" 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-08-18T20:11:43.779654" elapsed="0.365083"/>
</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-08-18T20:11:43.779290" elapsed="0.365544"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:11:44.145387" level="INFO">Executing command 'sudo ovs-vsctl set-manager ptcp:6644'.</msg>
<msg time="2026-08-18T20:11:44.198523" 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-08-18T20:11:44.145029" elapsed="0.053633"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:44.235419" level="INFO">sudo mn --controller=remote,ip=10.30.171.138 --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-08-18T20:11:44.199006" elapsed="0.036472"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:44.497588" level="INFO">[?2004l*** Creating network
*** Adding controller
Connecting to remote controller at 10.30.171.138: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-08-18T20:11:44.235618" elapsed="0.262057"/>
</kw>
<doc>Basic setup/cleanup work that can be done safely before any system
is run.</doc>
<status status="PASS" start="2026-08-18T20:11:41.813336" elapsed="2.684417"/>
</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-08-18T20:11:44.528541" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a986336510&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-08-18T20:11:44.528189" elapsed="0.000540"/>
</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-08-18T20:11:44.546318" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:11:44.546615" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=409, reason=Conflict 
 headers={'Set-Cookie': 'JSESSIONID=node0qwlyu57xk53zq8u285qav1lv4.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:11:44 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-08-18T20:11:44.546888" 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-08-18T20:11:44.535718" elapsed="0.011229"/>
</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-08-18T20:11:44.547819" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:44.547137" elapsed="0.000810"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:44.552850" 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-08-18T20:11:44.548264" elapsed="0.004695"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:44.548004" elapsed="0.005034"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:44.547090" elapsed="0.005998"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:44.553867" level="FAIL">Url: http://10.30.171.138: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-08-18T20:11:44.553350" elapsed="0.001055">Url: http://10.30.171.138: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-08-18T20:11:44.554662" elapsed="0.000022"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-08-18T20:11:44.554542" elapsed="0.000179"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="NOT RUN" start="2026-08-18T20:11:44.554479" elapsed="0.000284"/>
</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-08-18T20:11:44.535315" elapsed="0.019548">Url: http://10.30.171.138: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-08-18T20:11:46.585163" level="INFO">GET Request : url=http://10.30.171.138: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=node0qwlyu57xk53zq8u285qav1lv4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:46.585827" level="INFO">GET Response : url=http://10.30.171.138: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":54528,"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"},"flow":[{"id":"#UF$TABLE*0-4","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,"... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:11:46.586267" 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-08-18T20:11:46.567318" elapsed="0.019009"/>
</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-08-18T20:11:46.587282" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:46.586538" elapsed="0.000877"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.592381" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":54528,"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"},"flow":[{"id":"#UF$TABLE*0-4","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":"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-08-18T20:11:45.188Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"a6:99:5b:69:5c:01","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":0,"nanosecond":765000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"6a:21:7d:31:85:b2","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":0,"nanosecond":765000000},"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:a5:e4:02:31:f6","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":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":765000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"e2:40:0d:99:70:49","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":750000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:45.237Z"}},{"id":"openflow:1","flow-node-inventory:port-number":54518,"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":"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":7000000}},"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-08-18T20:11:45.189Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"32:09:37:f5:89:5a","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":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":771000000},"bytes":{"transmitted":"351","received":"265"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"9e:8b:00:08:29:4d","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":760000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"2a:22:ac:88:b7:4c","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":0,"nanosecond":771000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:45.229Z"}},{"id":"openflow:2","flow-node-inventory:port-number":54532,"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":"6","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":9000000}},"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-08-18T20:11:45.191Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"2a:1b:15:58:93:6d","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":"3","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":760000000},"bytes":{"transmitted":"265","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"66:80:d6:8d:fd:45","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":746000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"42:96:ad:73:01:b6","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":0,"nanosecond":759000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"e6:8e:f2:8a:70:e3","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":"3","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":759000000},"bytes":{"transmitted":"265","received":"176"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:45.244Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:46.587775" elapsed="0.006024"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:46.587473" elapsed="0.006381"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:46.586487" elapsed="0.007398"/>
</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-08-18T20:11:46.594054" elapsed="0.000250"/>
</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-08-18T20:11:46.594796" elapsed="0.002995"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-08-18T20:11:46.594582" elapsed="0.003267"/>
</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-08-18T20:11:46.598125" elapsed="0.002447"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-08-18T20:11:46.597965" elapsed="0.002648"/>
</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-08-18T20:11:46.600822" elapsed="0.002092"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-08-18T20:11:46.600693" elapsed="0.002262"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:46.594388" elapsed="0.008596"/>
</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-08-18T20:11:46.566550" elapsed="0.036497"/>
</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-08-18T20:11:44.529196" elapsed="2.073935"/>
</kw>
<doc>Get the inventory</doc>
<status status="PASS" start="2026-08-18T20:11:44.528818" elapsed="2.074454"/>
</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-08-18T20:11:46.630930" level="INFO">GET Request : url=http://10.30.171.138: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=node0qwlyu57xk53zq8u285qav1lv4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:46.631523" level="INFO">GET Response : url=http://10.30.171.138: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":54528,"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"},"flow":[{"id":"#UF$TABLE*0-4","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,"... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:11:46.632019" 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-08-18T20:11:46.613483" elapsed="0.018596"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.637134" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":54528,"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"},"flow":[{"id":"#UF$TABLE*0-4","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":"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-08-18T20:11:45.188Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"a6:99:5b:69:5c:01","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":0,"nanosecond":765000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"6a:21:7d:31:85:b2","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":0,"nanosecond":765000000},"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:a5:e4:02:31:f6","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":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":765000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"e2:40:0d:99:70:49","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":750000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:45.237Z"}},{"id":"openflow:1","flow-node-inventory:port-number":54518,"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":"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":7000000}},"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-08-18T20:11:45.189Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"32:09:37:f5:89:5a","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":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":771000000},"bytes":{"transmitted":"351","received":"265"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"9e:8b:00:08:29:4d","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":760000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"2a:22:ac:88:b7:4c","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":0,"nanosecond":771000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:45.229Z"}},{"id":"openflow:2","flow-node-inventory:port-number":54532,"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":"6","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":9000000}},"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-08-18T20:11:45.191Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"2a:1b:15:58:93:6d","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":"3","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":760000000},"bytes":{"transmitted":"265","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"66:80:d6:8d:fd:45","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":746000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"42:96:ad:73:01:b6","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":0,"nanosecond":759000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"e6:8e:f2:8a:70:e3","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":"3","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":759000000},"bytes":{"transmitted":"265","received":"176"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:45.244Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:46.632415" elapsed="0.007043"/>
</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-08-18T20:11:46.639649" elapsed="0.000264"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.643187" 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-08-18T20:11:46.640114" elapsed="0.003736"/>
</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-08-18T20:11:46.613105" elapsed="0.030838"/>
</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-08-18T20:11:46.604151" elapsed="0.039865"/>
</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-08-18T20:11:46.603631" elapsed="0.040547"/>
</test>
<test id="s1-s2-s1-t3" name="Get node 1 inventory" line="49">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.645717" 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-08-18T20:11:46.645070" elapsed="0.000721"/>
</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-08-18T20:11:46.665069" level="INFO">GET Request : url=http://10.30.171.138: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=node0qwlyu57xk53zq8u285qav1lv4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:46.665488" level="INFO">GET Response : url=http://10.30.171.138: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":54518,"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":"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":7000000}},"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-08-18T20:11:46.665977" 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-08-18T20:11:46.652964" elapsed="0.013079"/>
</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-08-18T20:11:46.666945" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:46.666234" elapsed="0.000848"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.670391" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":54518,"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":"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":7000000}},"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-08-18T20:11:45.189Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"32:09:37:f5:89:5a","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":"4","received":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":771000000},"bytes":{"transmitted":"351","received":"265"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"9e:8b:00:08:29:4d","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":760000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"2a:22:ac:88:b7:4c","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":0,"nanosecond":771000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:45.229Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:46.667316" elapsed="0.003707"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:46.667124" elapsed="0.003954"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:46.666188" elapsed="0.004923"/>
</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-08-18T20:11:46.671300" elapsed="0.000251"/>
</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-08-18T20:11:46.672026" elapsed="0.004877"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.671850" elapsed="0.005096"/>
</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-08-18T20:11:46.677149" elapsed="0.002161"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.677032" elapsed="0.002319"/>
</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-08-18T20:11:46.679548" elapsed="0.002095"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.679434" elapsed="0.002250"/>
</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-08-18T20:11:46.681898" elapsed="0.002123"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.681782" elapsed="0.002280"/>
</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-08-18T20:11:46.684268" elapsed="0.002087"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-08-18T20:11:46.684152" elapsed="0.002244"/>
</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-08-18T20:11:46.686591" elapsed="0.002083"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.230"</var>
<status status="PASS" start="2026-08-18T20:11:46.686478" elapsed="0.002237"/>
</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-08-18T20:11:46.688927" elapsed="0.002102"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-08-18T20:11:46.688811" elapsed="0.002258"/>
</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-08-18T20:11:46.691267" elapsed="0.002153"/>
</kw>
<var name="${i}">openflow:1:1</var>
<status status="PASS" start="2026-08-18T20:11:46.691150" elapsed="0.002311"/>
</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-08-18T20:11:46.693662" elapsed="0.002158"/>
</kw>
<var name="${i}">openflow:1:2</var>
<status status="PASS" start="2026-08-18T20:11:46.693542" elapsed="0.002318"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:46.671632" elapsed="0.024259"/>
</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-08-18T20:11:46.652465" elapsed="0.043481"/>
</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-08-18T20:11:46.646034" elapsed="0.049960"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-08-18T20:11:46.644507" elapsed="0.051599"/>
</test>
<test id="s1-s2-s1-t4" name="Get node 2 inventory" line="60">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.697184" 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-08-18T20:11:46.696736" elapsed="0.000475"/>
</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-08-18T20:11:46.715010" level="INFO">GET Request : url=http://10.30.171.138: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=node0qwlyu57xk53zq8u285qav1lv4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:46.715270" level="INFO">GET Response : url=http://10.30.171.138: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":54532,"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":"6","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":9000000}},"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-08-18T20:11:46.715563" 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-08-18T20:11:46.704058" elapsed="0.011542"/>
</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-08-18T20:11:46.716133" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:46.715712" elapsed="0.000500"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.719231" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:2","flow-node-inventory:port-number":54532,"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":"6","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":9000000}},"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-08-18T20:11:45.191Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"2a:1b:15:58:93:6d","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":"3","received":"4"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":760000000},"bytes":{"transmitted":"265","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"66:80:d6:8d:fd:45","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":746000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"42:96:ad:73:01:b6","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":0,"nanosecond":759000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"e6:8e:f2:8a:70:e3","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":"3","received":"2"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":759000000},"bytes":{"transmitted":"265","received":"176"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:45.244Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:46.716413" elapsed="0.003408"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:46.716246" elapsed="0.003628"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:46.715684" elapsed="0.004221"/>
</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-08-18T20:11:46.720083" elapsed="0.000239"/>
</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-08-18T20:11:46.720779" elapsed="0.002978"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.720588" elapsed="0.003211"/>
</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-08-18T20:11:46.723997" elapsed="0.002073"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.723882" elapsed="0.002229"/>
</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-08-18T20:11:46.726307" elapsed="0.002260"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.726192" elapsed="0.002415"/>
</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-08-18T20:11:46.728819" elapsed="0.002144"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.728688" elapsed="0.002317"/>
</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-08-18T20:11:46.731210" elapsed="0.002172"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-08-18T20:11:46.731086" elapsed="0.002339"/>
</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-08-18T20:11:46.733628" elapsed="0.002157"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.230"</var>
<status status="PASS" start="2026-08-18T20:11:46.733506" elapsed="0.002320"/>
</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-08-18T20:11:46.736059" elapsed="0.002286"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-08-18T20:11:46.735907" elapsed="0.002478"/>
</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-08-18T20:11:46.738592" elapsed="0.002163"/>
</kw>
<var name="${i}">openflow:2:1</var>
<status status="PASS" start="2026-08-18T20:11:46.738466" elapsed="0.002332"/>
</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-08-18T20:11:46.740994" elapsed="0.002095"/>
</kw>
<var name="${i}">openflow:2:2</var>
<status status="PASS" start="2026-08-18T20:11:46.740879" elapsed="0.002250"/>
</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-08-18T20:11:46.743324" elapsed="0.002073"/>
</kw>
<var name="${i}">openflow:2:3</var>
<status status="PASS" start="2026-08-18T20:11:46.743209" elapsed="0.002228"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:46.720407" elapsed="0.025060"/>
</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-08-18T20:11:46.703550" elapsed="0.041972"/>
</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-08-18T20:11:46.697372" elapsed="0.048199"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-08-18T20:11:46.696348" elapsed="0.049336"/>
</test>
<test id="s1-s2-s1-t5" name="Get node 3 inventory" line="71">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.746768" 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-08-18T20:11:46.746325" elapsed="0.000497"/>
</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-08-18T20:11:46.764359" level="INFO">GET Request : url=http://10.30.171.138: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=node0qwlyu57xk53zq8u285qav1lv4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:46.764541" level="INFO">GET Response : url=http://10.30.171.138: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":54528,"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"},"flow":[{"id":"#UF$TABLE*0-4","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-08-18T20:11:46.764772" 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-08-18T20:11:46.753470" elapsed="0.011330"/>
</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-08-18T20:11:46.765163" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:46.764881" elapsed="0.000338"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.767384" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:3","flow-node-inventory:port-number":54528,"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"},"flow":[{"id":"#UF$TABLE*0-4","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":"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-08-18T20:11:45.188Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"a6:99:5b:69:5c:01","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":0,"nanosecond":765000000},"bytes":{"transmitted":"351","received":"351"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"6a:21:7d:31:85:b2","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":0,"nanosecond":765000000},"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:a5:e4:02:31:f6","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":"3"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":765000000},"bytes":{"transmitted":"351","received":"266"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"e2:40:0d:99:70:49","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":750000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:45.237Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:46.765361" elapsed="0.002420"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:46.765244" elapsed="0.002573"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:46.764860" elapsed="0.002979"/>
</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-08-18T20:11:46.767959" elapsed="0.000165"/>
</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-08-18T20:11:46.768417" elapsed="0.002092"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-flow-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.768303" elapsed="0.002246"/>
</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-08-18T20:11:46.770758" elapsed="0.002092"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-table-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.770630" elapsed="0.002261"/>
</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-08-18T20:11:46.773086" elapsed="0.002102"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-port-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.772972" elapsed="0.002256"/>
</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-08-18T20:11:46.775423" elapsed="0.002205"/>
</kw>
<var name="${i}">"flow-node-inventory:flow-feature-capability-queue-stats"</var>
<status status="PASS" start="2026-08-18T20:11:46.775309" elapsed="0.002359"/>
</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-08-18T20:11:46.777884" elapsed="0.002098"/>
</kw>
<var name="${i}">"flow-node-inventory:manufacturer":"Nicira, Inc."</var>
<status status="PASS" start="2026-08-18T20:11:46.777765" elapsed="0.002257"/>
</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-08-18T20:11:46.780218" elapsed="0.002074"/>
</kw>
<var name="${i}">"flow-node-inventory:ip-address":"10.30.171.230"</var>
<status status="PASS" start="2026-08-18T20:11:46.780103" elapsed="0.002229"/>
</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-08-18T20:11:46.782526" elapsed="0.002094"/>
</kw>
<var name="${i}">"flow-node-inventory:hardware":"Open vSwitch"</var>
<status status="PASS" start="2026-08-18T20:11:46.782412" elapsed="0.002248"/>
</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-08-18T20:11:46.784871" elapsed="0.002090"/>
</kw>
<var name="${i}">openflow:3:1</var>
<status status="PASS" start="2026-08-18T20:11:46.784741" elapsed="0.002260"/>
</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-08-18T20:11:46.787194" elapsed="0.002081"/>
</kw>
<var name="${i}">openflow:3:2</var>
<status status="PASS" start="2026-08-18T20:11:46.787081" elapsed="0.002233"/>
</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-08-18T20:11:46.789508" elapsed="0.002107"/>
</kw>
<var name="${i}">openflow:3:3</var>
<status status="PASS" start="2026-08-18T20:11:46.789394" elapsed="0.002262"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:46.768178" elapsed="0.023507"/>
</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-08-18T20:11:46.752990" elapsed="0.038749"/>
</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-08-18T20:11:46.746986" elapsed="0.044820"/>
</kw>
<doc>Get the inventory for a node</doc>
<status status="PASS" start="2026-08-18T20:11:46.745941" elapsed="0.045979"/>
</test>
<test id="s1-s2-s1-t6" name="Link Down" line="82">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:46.795207" 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-08-18T20:11:46.792519" elapsed="0.002745"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:46.800390" 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-08-18T20:11:46.795404" elapsed="0.005124"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.801536" 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-08-18T20:11:46.800881" elapsed="0.000716"/>
</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-08-18T20:11:46.820341" level="INFO">GET Request : url=http://10.30.171.138: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=node0qwlyu57xk53zq8u285qav1lv4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:46.820467" level="INFO">GET Response : url=http://10.30.171.138: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":"32:09:37:f5:89:5a","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-08-18T20:11:46.820604" 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-08-18T20:11:46.813109" elapsed="0.007521"/>
</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-08-18T20:11:46.821027" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:46.820711" elapsed="0.000373"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.823241" 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":"32:09:37:f5:89:5a","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-08-18T20:11:46.821240" elapsed="0.002053"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:46.821110" elapsed="0.002218"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:46.820691" elapsed="0.002659"/>
</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-08-18T20:11:46.823470" elapsed="0.000176"/>
</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-08-18T20:11:46.823964" elapsed="0.002044"/>
</kw>
<var name="${i}">"link-down":true</var>
<status status="PASS" start="2026-08-18T20:11:46.823847" elapsed="0.002202"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:46.823702" elapsed="0.002377"/>
</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-08-18T20:11:46.811932" elapsed="0.014213"/>
</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-08-18T20:11:46.801962" elapsed="0.024239"/>
</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-08-18T20:11:46.842929" level="INFO">GET Request : url=http://10.30.171.138: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=node0qwlyu57xk53zq8u285qav1lv4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:46.843050" level="INFO">GET Response : url=http://10.30.171.138: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': '610'} 
 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":"2a:1b:15:58:93:6d","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":false}}]} 
 </msg>
<msg time="2026-08-18T20:11:46.843179" 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-08-18T20:11:46.835953" elapsed="0.007270"/>
</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-08-18T20:11:46.843739" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:46.843358" elapsed="0.000483"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.847051" 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":"2a:1b:15:58:93:6d","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":false}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:46.844048" elapsed="0.003075"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:46.843875" elapsed="0.003296"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:46.843325" elapsed="0.003876"/>
</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-08-18T20:11:46.847366" elapsed="0.000230"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:11:46.850969" level="FAIL">'{"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":"2a:1b:15:58:93:6d","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":false}}]}' does not contain '"link-down":true'</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-08-18T20:11:46.848029" elapsed="0.003075">'{"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":"2a:1b:15:58:93:6d","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":false}}]}' does not contain '"link-down":true'</status>
</kw>
<var name="${i}">"link-down":true</var>
<status status="FAIL" start="2026-08-18T20:11:46.847868" elapsed="0.003408">'{"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":"2a:1b:15:58:93:6d","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":false}}]}' does not contain '"link-down":true'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-18T20:11:46.847669" elapsed="0.003684">'{"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":"2a:1b:15:58:93:6d","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":false}}]}' does not contain '"link-down":true'</status>
</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="FAIL" start="2026-08-18T20:11:46.835291" elapsed="0.016166">'{"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":"2a:1b:15:58:93:6d","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":false}}]}' does not contain '"link-down":true'</status>
</kw>
<kw name="Check For Elements At URI" owner="Utils">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:48.871986" level="INFO">GET Request : url=http://10.30.171.138: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=node0qwlyu57xk53zq8u285qav1lv4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:48.872236" level="INFO">GET Response : url=http://10.30.171.138: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': '1014'} 
 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":"2a:1b:15:58:93:6d","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},"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":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":771000000},"bytes":{"transmitted":"596","received":"686"},"receive-crc-error":"0"}}]} 
 </msg>
<msg time="2026-08-18T20:11:48.872393" 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-08-18T20:11:48.863134" elapsed="0.009296"/>
</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-08-18T20:11:48.873029" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:48.872568" elapsed="0.000544"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:48.876262" 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":"2a:1b:15:58:93:6d","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},"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":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":771000000},"bytes":{"transmitted":"596","received":"686"},"receive-crc-error":"0"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:48.873323" elapsed="0.003034"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:48.873150" elapsed="0.003259"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:48.872533" elapsed="0.003907"/>
</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-08-18T20:11:48.876609" elapsed="0.000263"/>
</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-08-18T20:11:48.877315" elapsed="0.002931"/>
</kw>
<var name="${i}">"link-down":true</var>
<status status="PASS" start="2026-08-18T20:11:48.877142" elapsed="0.003159"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:48.876954" elapsed="0.003390"/>
</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-08-18T20:11:48.862487" elapsed="0.017935"/>
</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-08-18T20:11:46.826366" elapsed="2.054127"/>
</kw>
<doc>Take link s1-s2 down</doc>
<status status="PASS" start="2026-08-18T20:11:46.792156" elapsed="2.088582"/>
</test>
<test id="s1-s2-s1-t7" name="Link Up" line="100">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:48.884452" 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-08-18T20:11:48.881674" elapsed="0.002836"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:48.889347" 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-08-18T20:11:48.884651" elapsed="0.004752"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:48.889840" 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-08-18T20:11:48.889541" elapsed="0.000326"/>
</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-08-18T20:11:48.903381" level="INFO">GET Request : url=http://10.30.171.138: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=node0qwlyu57xk53zq8u285qav1lv4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:48.903559" level="INFO">GET Response : url=http://10.30.171.138: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":"32:09:37:f5:89:5a","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-08-18T20:11:48.903694" 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-08-18T20:11:48.896535" elapsed="0.007194"/>
</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-08-18T20:11:48.904289" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:48.903870" elapsed="0.000498"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:48.907597" 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":"32:09:37:f5:89:5a","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-08-18T20:11:48.904570" elapsed="0.003098"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:48.904403" elapsed="0.003314"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:48.903843" elapsed="0.003923"/>
</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-08-18T20:11:48.907969" elapsed="0.000256"/>
</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-08-18T20:11:48.908669" elapsed="0.002857"/>
</kw>
<var name="${i}">"link-down":false</var>
<status status="PASS" start="2026-08-18T20:11:48.908511" elapsed="0.003072"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:48.908321" elapsed="0.003303"/>
</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-08-18T20:11:48.896053" elapsed="0.015645"/>
</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-08-18T20:11:48.890020" elapsed="0.021766"/>
</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-08-18T20:11:48.927500" level="INFO">GET Request : url=http://10.30.171.138: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=node0qwlyu57xk53zq8u285qav1lv4.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:48.927665" level="INFO">GET Response : url=http://10.30.171.138: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":"2a:1b:15:58:93:6d","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-08-18T20:11:48.927826" 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-08-18T20:11:48.919846" elapsed="0.008017"/>
</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-08-18T20:11:48.928427" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:48.927991" elapsed="0.000516"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:48.931441" 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":"2a:1b:15:58:93:6d","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-08-18T20:11:48.928705" elapsed="0.002807"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:48.928541" elapsed="0.003020"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:48.927964" elapsed="0.003626"/>
</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-08-18T20:11:48.931772" elapsed="0.000265"/>
</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-08-18T20:11:48.932491" elapsed="0.002877"/>
</kw>
<var name="${i}">"link-down":false</var>
<status status="PASS" start="2026-08-18T20:11:48.932322" elapsed="0.003102"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:48.932113" elapsed="0.003351"/>
</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-08-18T20:11:48.919352" elapsed="0.016185"/>
</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-08-18T20:11:48.912019" elapsed="0.023587"/>
</kw>
<doc>Take link s1-s2 up</doc>
<status status="PASS" start="2026-08-18T20:11:48.881156" elapsed="0.054624"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-08-18T20:11:48.936438" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:11:48.936330" elapsed="0.000201"/>
</kw>
<doc>Test suite for RESTCONF inventory</doc>
<status status="PASS" start="2026-08-18T20:11:44.497835" elapsed="4.438742"/>
</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-08-18T20:11:48.969506" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={'Content-Type': 'application/json'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a986373190&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-08-18T20:11:48.969161" elapsed="0.000507"/>
</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-08-18T20:11:48.986959" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:11:48.987352" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/network-topology:network-topology?content=nonconfig 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node01abrid877obvo189x2byv6e8y65.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:11:48 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '3149'} 
 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: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-08-18T20:11:48.987712" 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-08-18T20:11:48.976508" elapsed="0.011297"/>
</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-08-18T20:11:48.988676" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:48.988032" elapsed="0.000804"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:48.993579" 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: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-08-18T20:11:48.989175" elapsed="0.004560"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:48.988895" elapsed="0.004952"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:48.987946" elapsed="0.005951"/>
</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-08-18T20:11:48.994161" elapsed="0.000482"/>
</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-08-18T20:11:48.995361" elapsed="0.003161"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-08-18T20:11:48.995103" elapsed="0.003461"/>
</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-08-18T20:11:48.998774" elapsed="0.002036"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-08-18T20:11:48.998645" elapsed="0.002206"/>
</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-08-18T20:11:49.001047" elapsed="0.002032"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-08-18T20:11:49.000933" elapsed="0.002185"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:48.994806" elapsed="0.008342"/>
</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-08-18T20:11:48.976118" elapsed="0.027086"/>
</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-08-18T20:11:48.970220" elapsed="0.033033"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:49.010105" level="INFO">GET Request : url=http://10.30.171.138: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=node01abrid877obvo189x2byv6e8y65.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:49.010267" level="INFO">GET Response : url=http://10.30.171.138: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': '3149'} 
 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: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-08-18T20:11:49.010416" 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-08-18T20:11:49.003387" elapsed="0.007056"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.012717" 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: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-08-18T20:11:49.010587" elapsed="0.002216"/>
</kw>
<doc>Get RESTCONF Topology and validate the result.</doc>
<status status="PASS" start="2026-08-18T20:11:48.969756" elapsed="0.043155"/>
</test>
<test id="s1-s2-s2-t2" name="List all the links" line="31">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.014250" 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-08-18T20:11:49.013766" elapsed="0.000523"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.015013" 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-08-18T20:11:49.014516" elapsed="0.000535"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.015831" 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-08-18T20:11:49.015256" elapsed="0.000615"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.016540" 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-08-18T20:11:49.016099" elapsed="0.000501"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.017243" 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-08-18T20:11:49.016819" elapsed="0.000459"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.017912" 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-08-18T20:11:49.017477" elapsed="0.000471"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.018689" 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-08-18T20:11:49.018146" elapsed="0.000581"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.019389" 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-08-18T20:11:49.018954" elapsed="0.000494"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.020132" 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-08-18T20:11:49.019640" elapsed="0.000528"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.020828" 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-08-18T20:11:49.020388" elapsed="0.000518"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.021589" 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-08-18T20:11:49.021113" elapsed="0.000502"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.022093" 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-08-18T20:11:49.021788" elapsed="0.000347"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.022567" 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-08-18T20:11:49.022272" elapsed="0.000321"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.023046" 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-08-18T20:11:49.022736" elapsed="0.000336"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.023605" 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-08-18T20:11:49.023218" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.024108" 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-08-18T20:11:49.023792" elapsed="0.000359"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.024665" 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-08-18T20:11:49.024282" elapsed="0.000410"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:49.032629" level="INFO">GET Request : url=http://10.30.171.138: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=node01abrid877obvo189x2byv6e8y65.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:49.032813" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:49.032931" 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-08-18T20:11:49.025646" elapsed="0.007309"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.035130" 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-08-18T20:11:49.033143" elapsed="0.002055"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.038253" 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-08-18T20:11:49.037561" elapsed="0.000732"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-08-18T20:11:49.038366" elapsed="0.000056"/>
</return>
<msg time="2026-08-18T20:11:49.038658" 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-08-18T20:11:49.035387" elapsed="0.003308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.039306" 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-08-18T20:11:49.038905" elapsed="0.000495"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:49.039929" 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-08-18T20:11:49.039590" elapsed="0.000439"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-08-18T20:11:49.040561" 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-08-18T20:11:49.040243" elapsed="0.000357"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:49.041079" 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-08-18T20:11:49.040813" elapsed="0.000303"/>
</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-08-18T20:11:49.041543" elapsed="0.000466"/>
</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-08-18T20:11:49.041383" elapsed="0.000681"/>
</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-08-18T20:11:49.042350" elapsed="0.000458"/>
</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-08-18T20:11:49.042192" elapsed="0.000673"/>
</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-08-18T20:11:49.043148" elapsed="0.000430"/>
</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-08-18T20:11:49.042992" elapsed="0.000641"/>
</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-08-18T20:11:49.043945" elapsed="0.000466"/>
</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-08-18T20:11:49.043784" elapsed="0.000681"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-08-18T20:11:49.041189" elapsed="0.003318"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-08-18T20:11:49.025356" elapsed="0.019224"/>
</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-08-18T20:11:49.024858" elapsed="0.019780"/>
</kw>
<doc>List all the links in the topology.</doc>
<status status="PASS" start="2026-08-18T20:11:49.013150" elapsed="0.031661"/>
</test>
<test id="s1-s2-s2-t3" name="Link Down" line="52">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:49.048048" 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-08-18T20:11:49.045612" elapsed="0.002493"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:49.051638" 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-08-18T20:11:49.048248" elapsed="0.003444"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.052209" 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-08-18T20:11:49.051844" elapsed="0.000393"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:49.065200" level="INFO">GET Request : url=http://10.30.171.138: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=node01abrid877obvo189x2byv6e8y65.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:49.065366" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:49.065529" 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-08-18T20:11:49.053408" elapsed="0.012147"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.067661" 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-08-18T20:11:49.065699" elapsed="0.002030"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.071039" 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-08-18T20:11:49.070379" elapsed="0.000700"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-08-18T20:11:49.071148" elapsed="0.000048"/>
</return>
<msg time="2026-08-18T20:11:49.071428" 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-08-18T20:11:49.067930" elapsed="0.003536"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.072122" 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-08-18T20:11:49.071666" elapsed="0.000596"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:49.072777" 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-08-18T20:11:49.072453" elapsed="0.000364"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-08-18T20:11:49.073316" 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-08-18T20:11:49.073010" elapsed="0.000343"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:49.073823" 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-08-18T20:11:49.073542" elapsed="0.000319"/>
</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-08-18T20:11:49.074285" elapsed="0.000438"/>
</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-08-18T20:11:49.074129" elapsed="0.000669"/>
</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-08-18T20:11:49.075078" elapsed="0.000429"/>
</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-08-18T20:11:49.074925" elapsed="0.000635"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-08-18T20:11:49.073934" elapsed="0.001667"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-08-18T20:11:49.053117" elapsed="0.022556"/>
</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-08-18T20:11:49.052389" elapsed="0.023342"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:49.077949" 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-08-18T20:11:49.075936" elapsed="0.002069"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:49.095899" level="INFO">_uuid               : 76e5a667-d2f3-4aeb-9355-c506d5f0f7aa
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         : 5
link_speed          : 10000000000
link_state          : down
lldp                : {}
mac                 : []
mac_in_use          : "32:09:37:f5:89:5a"
mtu                 : 1500
mtu_request         : []
name                : s1-eth1
ofport              : 1
ofport_request      : 1
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=351, 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=4, tx_bytes=511, tx_dropped=0, tx_errors=0, tx_packets=6}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<msg time="2026-08-18T20:11:49.096003" level="INFO">${output} = _uuid               : 76e5a667-d2f3-4aeb-9355-c506d5f0f7aa
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-08-18T20:11:49.078145" elapsed="0.017897"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.096420" level="INFO">_uuid               : 76e5a667-d2f3-4aeb-9355-c506d5f0f7aa
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         : 5
link_speed          : 10000000000
link_state          : down
lldp                : {}
mac                 : []
mac_in_use          : "32:09:37:f5:89:5a"
mtu                 : 1500
mtu_request         : []
name                : s1-eth1
ofport              : 1
ofport_request      : 1
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=351, 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=4, tx_bytes=511, tx_dropped=0, tx_errors=0, tx_packets=6}
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-08-18T20:11:49.096179" elapsed="0.000297"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:49.098289" 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-08-18T20:11:49.096603" elapsed="0.001751"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:49.115542" level="INFO">_uuid               : ce49b3fc-bf17-4d5a-9793-da09dca923e8
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          : "2a:22:ac:88:b7:4c"
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=351, tx_dropped=0, tx_errors=0, tx_packets=4}
status              : {driver_name=veth, driver_version="1.0", firmware_version=""}
type                : ""
mininet&gt;</msg>
<msg time="2026-08-18T20:11:49.115678" level="INFO">${output} = _uuid               : ce49b3fc-bf17-4d5a-9793-da09dca923e8
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-08-18T20:11:49.098498" elapsed="0.017208"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.116117" level="INFO">_uuid               : ce49b3fc-bf17-4d5a-9793-da09dca923e8
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          : "2a:22:ac:88:b7:4c"
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=351, tx_dropped=0, tx_errors=0, tx_packets=4}
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-08-18T20:11:49.115854" elapsed="0.000319"/>
</kw>
<doc>Take link s1-s2 down</doc>
<status status="PASS" start="2026-08-18T20:11:49.045198" elapsed="0.071077"/>
</test>
<test id="s1-s2-s2-t4" name="Link Up" line="69">
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:11:49.118552" 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-08-18T20:11:49.116867" elapsed="0.001741"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:11:49.129081" 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-08-18T20:11:49.118755" elapsed="0.010384"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.129660" 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-08-18T20:11:49.129275" elapsed="0.000413"/>
</kw>
<kw name="Wait Until Keyword Succeeds" owner="BuiltIn">
<kw name="Verify Links">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:49.138342" level="INFO">GET Request : url=http://10.30.171.138: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=node01abrid877obvo189x2byv6e8y65.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:49.138511" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:49.138625" 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-08-18T20:11:49.130623" elapsed="0.008028"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.141096" 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-08-18T20:11:49.138816" elapsed="0.002378"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.143911" 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-08-18T20:11:49.143446" elapsed="0.000495"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-08-18T20:11:49.143991" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:11:49.144197" 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-08-18T20:11:49.141383" elapsed="0.002841"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.144635" 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-08-18T20:11:49.144358" elapsed="0.000342"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:49.145058" 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-08-18T20:11:49.144847" elapsed="0.000238"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-08-18T20:11:49.145428" 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-08-18T20:11:49.145219" elapsed="0.000236"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:49.145779" 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-08-18T20:11:49.145587" elapsed="0.000219"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:11:49.146483" 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-08-18T20:11:49.146108" elapsed="0.000467">'[{'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-08-18T20:11:49.145997" elapsed="0.000652">'[{'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-08-18T20:11:49.145858" elapsed="0.000899">'[{'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-08-18T20:11:49.130329" elapsed="0.016535">'[{'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-08-18T20:11:51.160078" level="INFO">GET Request : url=http://10.30.171.138: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=node01abrid877obvo189x2byv6e8y65.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:51.160394" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:51.160580" 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-08-18T20:11:51.149047" elapsed="0.011571"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:51.163866" 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-08-18T20:11:51.160887" elapsed="0.003153"/>
</kw>
<kw name="Json Parse From String" owner="Utils">
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:11:51.167949" 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-08-18T20:11:51.167209" elapsed="0.000780"/>
</kw>
<return>
<value>${json_data}</value>
<status status="PASS" start="2026-08-18T20:11:51.168066" elapsed="0.000060"/>
</return>
<msg time="2026-08-18T20:11:51.168375" 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-08-18T20:11:51.164318" elapsed="0.004095"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:51.169019" 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-08-18T20:11:51.168601" elapsed="0.000541"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:51.169645" 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-08-18T20:11:51.169339" elapsed="0.000344"/>
</kw>
<kw name="Get From List" owner="Collections">
<msg time="2026-08-18T20:11:51.170209" 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-08-18T20:11:51.169894" elapsed="0.000352"/>
</kw>
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:11:51.170697" 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-08-18T20:11:51.170431" elapsed="0.000302"/>
</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-08-18T20:11:51.171217" elapsed="0.000472"/>
</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-08-18T20:11:51.171056" elapsed="0.000705"/>
</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-08-18T20:11:51.172053" elapsed="0.000427"/>
</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-08-18T20:11:51.171898" elapsed="0.000634"/>
</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-08-18T20:11:51.172829" elapsed="0.000458"/>
</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-08-18T20:11:51.172656" elapsed="0.000684"/>
</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-08-18T20:11:51.173666" elapsed="0.000459"/>
</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-08-18T20:11:51.173510" elapsed="0.000668"/>
</iter>
<var>${expected_link}</var>
<value>@{expected_links}</value>
<status status="PASS" start="2026-08-18T20:11:51.170839" elapsed="0.003391"/>
</for>
<arg>${links}</arg>
<status status="PASS" start="2026-08-18T20:11:51.148005" elapsed="0.026318"/>
</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-08-18T20:11:49.129858" elapsed="2.044541"/>
</kw>
<doc>Take link s1-s2 up</doc>
<status status="PASS" start="2026-08-18T20:11:49.116508" elapsed="2.058041"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-08-18T20:11:51.175194" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:11:51.175115" elapsed="0.000155"/>
</kw>
<doc>Test suite for RESTCONF Topology</doc>
<status status="PASS" start="2026-08-18T20:11:48.937728" elapsed="2.237575"/>
</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-08-18T20:11:51.206291" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a9863b70d0&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-08-18T20:11:51.205961" elapsed="0.000493"/>
</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-08-18T20:11:51.229632" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:11:51.230124" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node016hewfxrm1d2nn60vmn4nxorr6.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:11:51 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":54528,"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":1,"packets-matched":"10"},"flow":[{"id":"#UF$TABLE*0-4","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":"10","byte-count":"835","duration":{"second":3,"nanosecond":20000000}},"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... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:11:51.230593" 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-08-18T20:11:51.213290" elapsed="0.017363"/>
</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-08-18T20:11:51.231530" elapsed="0.000056"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:51.230876" elapsed="0.000780"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:51.235761" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":54528,"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":1,"packets-matched":"10"},"flow":[{"id":"#UF$TABLE*0-4","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":"10","byte-count":"835","duration":{"second":3,"nanosecond":20000000}},"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-08-18T20:11:48.216Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"a6:99:5b:69:5c:01","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":"8","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":788000000},"bytes":{"transmitted":"686","received":"686"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"6a:21:7d:31:85:b2","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":"8","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":788000000},"bytes":{"transmitted":"686","received":"516"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"5a:a5:e4:02:31:f6","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":"8","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":788000000},"bytes":{"transmitted":"686","received":"516"},"receive-crc-error":"0"}},{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"e2:40:0d:99:70:49","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":3,"nanosecond":773000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:48.255Z"}},{"id":"openflow:1","flow-node-inventory:port-number":54518,"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":"13","active-flows":1,"packets-matched":"9"},"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":"9","byte-count":"751","duration":{"second":3,"nanosecond":15000000}},"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-08-18T20:11:48.205Z"},"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":"32:09:37:f5:89:5a","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":"9e:8b:00:08:29:4d","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":3,"nanosecond":779000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"2a:22:ac:88:b7:4c","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":"8","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":790000000},"bytes":{"transmitted":"686","received":"686"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:48.246Z"}},{"id":"openflow:2","flow-node-inventory:port-number":54532,"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":1,"packets-matched":"12"},"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":"12","byte-count":"1010","duration":{"second":3,"nanosecond":21000000}},"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-08-18T20:11:48.211Z"},"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":"2a:1b:15:58:93:6d","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":"66:80:d6:8d:fd:45","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":3,"nanosecond":757000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"42:96:ad:73:01:b6","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":"8","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":770000000},"bytes":{"transmitted":"686","received":"516"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"e6:8e:f2:8a:70:e3","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":"8","received":"6"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":3,"nanosecond":770000000},"bytes":{"transmitted":"686","received":"516"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:11:48.252Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:51.232032" elapsed="0.005158"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:51.231715" elapsed="0.005527"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:51.230826" elapsed="0.006447"/>
</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-08-18T20:11:51.237444" elapsed="0.000234"/>
</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-08-18T20:11:51.238127" elapsed="0.002890"/>
</kw>
<var name="${i}">openflow:1</var>
<status status="PASS" start="2026-08-18T20:11:51.237964" elapsed="0.003109"/>
</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-08-18T20:11:51.241381" elapsed="0.002385"/>
</kw>
<var name="${i}">openflow:2</var>
<status status="PASS" start="2026-08-18T20:11:51.241222" elapsed="0.002585"/>
</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-08-18T20:11:51.244007" elapsed="0.002054"/>
</kw>
<var name="${i}">openflow:3</var>
<status status="PASS" start="2026-08-18T20:11:51.243887" elapsed="0.002213"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:51.237779" elapsed="0.008351"/>
</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-08-18T20:11:51.212869" elapsed="0.033316"/>
</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-08-18T20:11:51.206963" elapsed="0.039280"/>
</kw>
<doc>Get the stats for all nodes</doc>
<status status="PASS" start="2026-08-18T20:11:51.206522" elapsed="0.039836"/>
</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-08-18T20:11:51.258925" level="INFO">GET Request : url=http://10.30.171.138: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=node016hewfxrm1d2nn60vmn4nxorr6.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:51.259186" level="INFO">GET Response : url=http://10.30.171.138: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":54518,"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":"13","active-flows":1,"packets-matched":"9"},"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":"9","byte-count":"751","duration":{"second":3,"nanosecond":15000000}},"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,"opend... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:11:51.259474" 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-08-18T20:11:51.250334" elapsed="0.009176"/>
</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-08-18T20:11:51.259718" elapsed="0.002831"/>
</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-08-18T20:11:51.262770" elapsed="0.002769"/>
</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-08-18T20:11:51.250044" elapsed="0.015582"/>
</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-08-18T20:11:51.247030" elapsed="0.018660"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-08-18T20:11:51.246616" elapsed="0.019245"/>
</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-08-18T20:11:51.283718" level="INFO">GET Request : url=http://10.30.171.138: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=node016hewfxrm1d2nn60vmn4nxorr6.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:51.284156" level="INFO">GET Response : url=http://10.30.171.138: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":54532,"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":1,"packets-matched":"12"},"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":"24","byte-count":"2012","duration":{"second":6,"nanosecond":63000000}},"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-08-18T20:11:51.284618" 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-08-18T20:11:51.271360" elapsed="0.013316"/>
</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-08-18T20:11:51.285041" elapsed="0.004542"/>
</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-08-18T20:11:51.289932" elapsed="0.004531"/>
</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-08-18T20:11:51.271068" elapsed="0.023458"/>
</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-08-18T20:11:51.266656" elapsed="0.027915"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-08-18T20:11:51.266165" elapsed="0.028513"/>
</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-08-18T20:11:51.305612" level="INFO">GET Request : url=http://10.30.171.138: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=node016hewfxrm1d2nn60vmn4nxorr6.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:51.305893" level="INFO">GET Response : url=http://10.30.171.138: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":54528,"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":"20","active-flows":1,"packets-matched":"13"},"flow":[{"id":"#UF$TABLE*0-4","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":"13","byte-count":"1045","duration":{"second":6,"nanosecond":59000000}},"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-08-18T20:11:51.306173" 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-08-18T20:11:51.298594" elapsed="0.007615"/>
</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-08-18T20:11:51.306416" elapsed="0.002887"/>
</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-08-18T20:11:51.309503" elapsed="0.002776"/>
</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-08-18T20:11:51.298307" elapsed="0.014060"/>
</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-08-18T20:11:51.295317" elapsed="0.017113"/>
</kw>
<doc>Get the stats for a node</doc>
<status status="PASS" start="2026-08-18T20:11:51.294928" elapsed="0.017650"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-08-18T20:11:51.313340" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:11:51.313225" elapsed="0.000202"/>
</kw>
<doc>Test suite for RESTCONF statistics</doc>
<status status="PASS" start="2026-08-18T20:11:51.176114" elapsed="0.137357"/>
</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-08-18T20:11:51.345770" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a9863e84d0&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-08-18T20:11:51.345431" elapsed="0.000502"/>
</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-08-18T20:11:51.359791" level="INFO">PUT Request : url=http://10.30.171.138: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-08-18T20:11:51.359926" level="INFO">PUT Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2/flow=139 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node03gn2ouqsnwzkoa7ofcllpkb27.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:11:51 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:51.360287" 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-08-18T20:11:51.346444" elapsed="0.013901"/>
</kw>
<doc>Push a flow through REST-API</doc>
<status status="PASS" start="2026-08-18T20:11:51.346001" elapsed="0.014594"/>
</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-08-18T20:11:51.370223" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:51.370444" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:51.370576" 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-08-18T20:11:51.362249" elapsed="0.008363"/>
</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-08-18T20:11:51.370837" elapsed="0.002714"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-08-18T20:11:51.361266" elapsed="0.012437"/>
</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-08-18T20:11:51.375062" 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-08-18T20:11:51.374669" elapsed="0.000430"/>
</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-08-18T20:11:51.387140" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:51.387300" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:51.387394" 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-08-18T20:11:51.380192" elapsed="0.007228"/>
</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-08-18T20:11:51.387812" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:51.387504" elapsed="0.000365"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:51.389983" 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-08-18T20:11:51.388014" elapsed="0.002017"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:51.387894" elapsed="0.002171"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:51.387483" elapsed="0.002603"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:51.390518" level="FAIL">Url: http://10.30.171.138: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-08-18T20:11:51.390207" elapsed="0.000886">Url: http://10.30.171.138: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-08-18T20:11:51.391435" elapsed="0.000030"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-08-18T20:11:51.391274" elapsed="0.000240"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="NOT RUN" start="2026-08-18T20:11:51.391193" elapsed="0.000357"/>
</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-08-18T20:11:51.379552" elapsed="0.012142">Url: http://10.30.171.138: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-08-18T20:11:53.409211" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:53.409421" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:53.409585" 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-08-18T20:11:53.400167" elapsed="0.009463"/>
</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-08-18T20:11:53.410221" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:53.409793" elapsed="0.000548"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:53.413330" 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-08-18T20:11:53.410555" elapsed="0.002845"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:53.410381" elapsed="0.003068"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:53.409729" elapsed="0.003751"/>
</if>
<kw name="Status Should Be" owner="RequestsLibrary">
<msg time="2026-08-18T20:11:53.413979" level="FAIL">Url: http://10.30.171.138: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-08-18T20:11:53.413648" elapsed="0.000898">Url: http://10.30.171.138: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-08-18T20:11:53.414943" elapsed="0.000031"/>
</kw>
<var name="${i}"/>
<status status="NOT RUN" start="2026-08-18T20:11:53.414741" elapsed="0.000283"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="NOT RUN" start="2026-08-18T20:11:53.414646" elapsed="0.000417"/>
</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-08-18T20:11:53.399366" elapsed="0.015834">Url: http://10.30.171.138: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-08-18T20:11:55.432125" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:55.432434" level="INFO">GET Response : url=http://10.30.171.138: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":930000000}},"flags":""}]} 
 </msg>
<msg time="2026-08-18T20:11:55.432586" 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-08-18T20:11:55.423026" elapsed="0.009597"/>
</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-08-18T20:11:55.433209" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:55.432776" elapsed="0.000514"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:55.436269" 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":930000000}},"flags":""}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:55.433498" elapsed="0.002844"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:55.433326" elapsed="0.003064"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:55.432723" elapsed="0.003698"/>
</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-08-18T20:11:55.436590" elapsed="0.000265"/>
</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-08-18T20:11:55.437299" elapsed="0.002883"/>
</kw>
<var name="${i}">10.0.10.1</var>
<status status="PASS" start="2026-08-18T20:11:55.437124" elapsed="0.003114"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:55.436937" elapsed="0.003345"/>
</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-08-18T20:11:55.421857" elapsed="0.018505"/>
</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-08-18T20:11:51.375301" elapsed="4.065135"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-08-18T20:11:51.374056" elapsed="4.066555"/>
</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-08-18T20:11:55.457277" level="INFO">PUT Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.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-08-18T20:11:55.457403" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:11:55.457601" 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-08-18T20:11:55.441546" elapsed="0.016111"/>
</kw>
<doc>Push a flow through REST-API</doc>
<status status="PASS" start="2026-08-18T20:11:55.441004" elapsed="0.016957"/>
</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-08-18T20:11:55.466009" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:55.466171" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:55.466305" 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-08-18T20:11:55.459543" elapsed="0.006798"/>
</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-08-18T20:11:55.466601" elapsed="0.002847"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-08-18T20:11:55.458470" elapsed="0.011133"/>
</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-08-18T20:11:55.471011" 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-08-18T20:11:55.470609" elapsed="0.000440"/>
</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-08-18T20:11:55.481844" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:55.482153" level="INFO">GET Response : url=http://10.30.171.138: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":930000000}},"flags":""}]} 
 </msg>
<msg time="2026-08-18T20:11:55.482410" 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-08-18T20:11:55.476577" elapsed="0.005875"/>
</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-08-18T20:11:55.483533" elapsed="0.000054"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:55.482812" elapsed="0.000830"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:55.487866" 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":930000000}},"flags":""}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:55.483979" elapsed="0.003969"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:55.483690" elapsed="0.004317"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:55.482737" elapsed="0.005302"/>
</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-08-18T20:11:55.488226" elapsed="0.000288"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:11:55.491973" 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":930000000}},"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-08-18T20:11:55.489014" elapsed="0.003078">'{"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":930000000}},"flags":""}]}' does not contain '10.0.20.1'</status>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="FAIL" start="2026-08-18T20:11:55.488825" elapsed="0.003374">'{"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":930000000}},"flags":""}]}' does not contain '10.0.20.1'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-18T20:11:55.488604" elapsed="0.003682">'{"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":930000000}},"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-08-18T20:11:55.476029" elapsed="0.016395">'{"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":930000000}},"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-08-18T20:11:57.509919" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:57.510347" level="INFO">GET Response : url=http://10.30.171.138: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":865000000}},"flags":""}]} 
 </msg>
<msg time="2026-08-18T20:11:57.510582" 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-08-18T20:11:57.500371" elapsed="0.010270"/>
</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-08-18T20:11:57.511539" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:57.510875" elapsed="0.000792"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:57.516473" 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":865000000}},"flags":""}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:57.512035" elapsed="0.004559"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:57.511725" elapsed="0.004952"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:57.510824" elapsed="0.005903"/>
</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-08-18T20:11:57.517040" elapsed="0.000417"/>
</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-08-18T20:11:57.518197" elapsed="0.003871"/>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="PASS" start="2026-08-18T20:11:57.517923" elapsed="0.004187"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:11:57.517589" elapsed="0.004553"/>
</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-08-18T20:11:57.499148" elapsed="0.023051"/>
</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-08-18T20:11:55.471265" elapsed="2.050986"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-08-18T20:11:55.469966" elapsed="2.052416"/>
</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-08-18T20:11:57.535178" level="INFO">DELETE Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:57.535222" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:11:57.535310" 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-08-18T20:11:57.523126" elapsed="0.012209"/>
</kw>
<doc>Remove a flow</doc>
<status status="PASS" start="2026-08-18T20:11:57.522688" elapsed="0.012758"/>
</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-08-18T20:11:57.542384" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:57.542490" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:11:57.542583" 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-08-18T20:11:57.536131" elapsed="0.006476"/>
</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-08-18T20:11:57.542781" elapsed="0.002215"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-08-18T20:11:57.535678" elapsed="0.009428"/>
</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-08-18T20:11:57.546082" 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-08-18T20:11:57.545809" elapsed="0.000300"/>
</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-08-18T20:11:57.560877" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:57.561035" level="INFO">GET Response : url=http://10.30.171.138: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":865000000}},"flags":""}]}]} 
 </msg>
<msg time="2026-08-18T20:11:57.561133" 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-08-18T20:11:57.552909" elapsed="0.008249"/>
</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-08-18T20:11:57.561517" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:57.561238" elapsed="0.000335"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:57.563630" 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":865000000}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:57.561715" elapsed="0.001966"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:57.561598" elapsed="0.002118"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:57.561218" elapsed="0.002519"/>
</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-08-18T20:11:57.563978" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:11:57.563939" elapsed="0.000083"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:11:57.563925" elapsed="0.000117"/>
</if>
<status status="NOT RUN" start="2026-08-18T20:11:57.563810" elapsed="0.000253"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:57.563793" elapsed="0.000290"/>
</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-08-18T20:11:57.564197" elapsed="0.000164"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:11:57.566722" 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":865000000}},"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-08-18T20:11:57.564676" elapsed="0.002146">'{"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":865000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="FAIL" start="2026-08-18T20:11:57.564561" elapsed="0.002337">'{"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":865000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-18T20:11:57.564414" elapsed="0.002545">'{"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":865000000}},"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-08-18T20:11:57.552392" elapsed="0.014669">'{"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":865000000}},"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-08-18T20:11:59.587419" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:11:59.587587" level="INFO">GET Response : url=http://10.30.171.138: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":865000000}},"flags":""}]}]} 
 </msg>
<msg time="2026-08-18T20:11:59.587697" 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-08-18T20:11:59.579405" elapsed="0.008318"/>
</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-08-18T20:11:59.588165" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:11:59.587847" elapsed="0.000376"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:11:59.590668" 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":865000000}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:11:59.588377" elapsed="0.002364"/>
</kw>
<status status="PASS" start="2026-08-18T20:11:59.588248" elapsed="0.002573"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:59.587823" elapsed="0.003028"/>
</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-08-18T20:11:59.591166" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:11:59.591115" elapsed="0.000108"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:11:59.591093" elapsed="0.000159"/>
</if>
<status status="NOT RUN" start="2026-08-18T20:11:59.590930" elapsed="0.000353"/>
</branch>
<status status="PASS" start="2026-08-18T20:11:59.590906" 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-08-18T20:11:59.591471" elapsed="0.000237"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:11:59.595157" 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":865000000}},"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-08-18T20:11:59.592163" elapsed="0.003108">'{"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":865000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="FAIL" start="2026-08-18T20:11:59.591991" elapsed="0.003385">'{"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":865000000}},"flags":""}]}]}' contains '10.0.20.1'</status>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="FAIL" start="2026-08-18T20:11:59.591809" elapsed="0.003655">'{"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":865000000}},"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-08-18T20:11:59.578606" elapsed="0.017005">'{"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":865000000}},"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-08-18T20:12:01.613780" level="INFO">GET Request : url=http://10.30.171.138: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=node03gn2ouqsnwzkoa7ofcllpkb27.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:01.613942" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:01.614048" 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-08-18T20:12:01.606445" elapsed="0.007631"/>
</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-08-18T20:12:01.614480" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:01.614173" elapsed="0.000364"/>
</branch>
<branch type="ELSE">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:01.617206" 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-08-18T20:12:01.614721" elapsed="0.002553"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:01.614562" elapsed="0.002762"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:01.614150" elapsed="0.003204"/>
</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-08-18T20:12:01.617667" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:01.617615" elapsed="0.000109"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:01.617594" elapsed="0.000180"/>
</if>
<status status="NOT RUN" start="2026-08-18T20:12:01.617434" elapsed="0.000374"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:01.617410" elapsed="0.000427"/>
</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-08-18T20:12:01.618002" elapsed="0.000238"/>
</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-08-18T20:12:01.618704" elapsed="0.002814"/>
</kw>
<var name="${i}">10.0.20.1</var>
<status status="PASS" start="2026-08-18T20:12:01.618502" elapsed="0.003074"/>
</iter>
<var>${i}</var>
<value>@{elements}</value>
<status status="PASS" start="2026-08-18T20:12:01.618319" elapsed="0.003299"/>
</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-08-18T20:12:01.605647" elapsed="0.016049"/>
</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-08-18T20:11:57.546265" elapsed="4.075529"/>
</kw>
<doc>Verify the flow</doc>
<status status="PASS" start="2026-08-18T20:11:57.545344" elapsed="4.076632"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-08-18T20:12:01.622841" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:12:01.622708" elapsed="0.000228"/>
</kw>
<doc>Test suite for RESTCONF FRM</doc>
<status status="PASS" start="2026-08-18T20:11:51.314522" elapsed="10.308459"/>
</suite>
<kw name="Stop Mininet" owner="Utils" type="TEARDOWN">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:01.624713" 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-08-18T20:12:01.624493" elapsed="0.000283"/>
</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-08-18T20:12:01.624910" elapsed="0.000141"/>
</kw>
<kw name="Read" owner="SSHLibrary">
<doc>Consumes and returns everything available on the server output.</doc>
<status status="PASS" start="2026-08-18T20:12:01.625176" elapsed="0.000132"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:12:01.629076" 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-08-18T20:12:01.625429" elapsed="0.003705"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:12:01.925134" 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.624 seconds
[?2004h[jenkins@releng-23793-645-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-08-18T20:12:01.629269" elapsed="0.296030"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:12:01.925580" elapsed="0.000280"/>
</kw>
<doc>Cleanup/Shutdown work that should be done at the completion of all
tests</doc>
<status status="PASS" start="2026-08-18T20:12:01.624233" elapsed="0.301699"/>
</kw>
<doc>Test suite for MD-SAL NSF mininet OF13</doc>
<status status="PASS" start="2026-08-18T20:11:41.782697" elapsed="20.143275"/>
</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-08-18T20:12:01.958574" 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-08-18T20:12:01.958325" elapsed="0.000299"/>
</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-08-18T20:12:01.960880" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:01.960602" elapsed="0.000336"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:01.960576" elapsed="0.000388"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:12:01.961241" 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-08-18T20:12:01.961350" 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-08-18T20:12:01.961086" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:01.961902" level="INFO">Attempting to execute command "sudo mn -c" on remote system "10.30.171.230" 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-08-18T20:12:01.961501" elapsed="0.000449"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:12:01.962453" 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-08-18T20:12:01.962079" elapsed="0.000401"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:12:01.963321" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:12:01.963398" 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-08-18T20:12:01.963037" elapsed="0.000385"/>
</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-08-18T20:12:01.963550" elapsed="0.000341"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:12:01.964672" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:12:02.598268" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:12:02 UTC 2026

  System load:  0.16               Processes:             114
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 5%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:11:44 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:12:01.964360" elapsed="0.634071"/>
</kw>
<msg time="2026-08-18T20:12:02.598526" 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-08-18T20:12:01.964031" elapsed="0.634586"/>
</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-08-18T20:12:01.962667" elapsed="0.636089"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:12:02.599331" level="INFO">Executing command 'sudo mn -c'.</msg>
<msg time="2026-08-18T20:12:03.761142" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:12:03.761443" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:12:03.761509" 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-08-18T20:12:02.598996" elapsed="1.162549"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:12:03.761886" elapsed="0.000454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:03.763010" 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-08-18T20:12:03.762554" elapsed="0.000532"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:12:03.763508" elapsed="0.000028"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:03.763206" elapsed="0.000379"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:03.763171" elapsed="0.000446"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:12:03.763889" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-08-18T20:12:03.763715" elapsed="0.000268"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:03.763671" elapsed="0.000345"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:12:03.764065" elapsed="0.000018"/>
</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-08-18T20:12:03.767068" elapsed="0.000458"/>
</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-08-18T20:12:03.767726" elapsed="0.000244"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:12:03.768134" elapsed="0.000133"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:12:03.764491" elapsed="0.003850"/>
</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-08-18T20:12:01.960106" elapsed="1.808361"/>
</kw>
<msg time="2026-08-18T20:12:03.768544" 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-08-18T20:12:01.959523" elapsed="1.809097"/>
</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-08-18T20:12:01.959097" elapsed="1.809636"/>
</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-08-18T20:12:03.771375" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:03.771055" elapsed="0.000398"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:03.771029" elapsed="0.000456"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:12:03.771921" 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-08-18T20:12:03.772065" 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-08-18T20:12:03.771648" elapsed="0.000454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:03.772850" 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.230" 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-08-18T20:12:03.772267" elapsed="0.000632"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:12:03.773393" 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-08-18T20:12:03.773029" elapsed="0.000390"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:12:03.774206" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:12:03.774283" 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-08-18T20:12:03.773924" elapsed="0.000383"/>
</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-08-18T20:12:03.774432" elapsed="0.000326"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:12:03.775532" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:12:04.117550" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:12:02 UTC 2026

  System load:  0.16               Processes:             114
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 5%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:12:02 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:12:03.775219" elapsed="0.342427"/>
</kw>
<msg time="2026-08-18T20:12:04.117716" 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-08-18T20:12:03.774896" elapsed="0.342956"/>
</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-08-18T20:12:03.773601" elapsed="0.344345"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:12:04.118302" 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-08-18T20:12:04.151028" level="INFO">Command exited with return code -1.</msg>
<msg time="2026-08-18T20:12:04.151159" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:12:04.151204" 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-08-18T20:12:04.118106" elapsed="0.033121"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:12:04.151367" elapsed="0.000241"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:04.152102" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:04.151785" elapsed="0.000359"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:12:04.152372" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:04.152230" elapsed="0.000195"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:04.152205" elapsed="0.000245"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:12:04.152610" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:12:04.152503" elapsed="0.000169"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:04.152488" elapsed="0.000207"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:12:04.152728" elapsed="0.000029"/>
</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-08-18T20:12:04.154873" elapsed="0.000320"/>
</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-08-18T20:12:04.155328" elapsed="0.000155"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:12:04.155601" elapsed="0.000095"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:12:04.153044" elapsed="0.002722"/>
</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-08-18T20:12:03.770325" elapsed="0.385535"/>
</kw>
<msg time="2026-08-18T20:12:04.155935" 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-08-18T20:12:03.769548" elapsed="0.386438"/>
</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-08-18T20:12:03.768962" elapsed="0.387105"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:01.958834" elapsed="2.197290"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:12:04.156622" 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-08-18T20:12:04.156254" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:04.157141" 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-08-18T20:12:04.156825" elapsed="0.000356"/>
</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-08-18T20:12:04.158772" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:12:04.158851" 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-08-18T20:12:04.158475" elapsed="0.000399"/>
</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-08-18T20:12:04.158999" elapsed="0.000317"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:12:04.160131" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:12:04.501880" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:12:02 UTC 2026

  System load:  0.16               Processes:             114
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 5%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:12:04 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:12:04.159789" elapsed="0.342180"/>
</kw>
<msg time="2026-08-18T20:12:04.502093" 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-08-18T20:12:04.159452" elapsed="0.342701"/>
</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-08-18T20:12:04.158082" elapsed="0.344159"/>
</kw>
<msg time="2026-08-18T20:12:04.502288" 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-08-18T20:12:04.157711" elapsed="0.344622"/>
</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-08-18T20:12:04.157348" elapsed="0.345057"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:12:04.502949" level="INFO">Executing command 'sudo ovs-vsctl set-manager ptcp:6644'.</msg>
<msg time="2026-08-18T20:12:04.565580" 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-08-18T20:12:04.502574" elapsed="0.063140"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:12:04.603205" level="INFO">sudo mn --controller=remote,ip=10.30.171.138 --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-08-18T20:12:04.566053" elapsed="0.037213"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:12:04.749604" level="INFO">[?2004l*** Creating network
*** Adding controller
Connecting to remote controller at 10.30.171.138: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-08-18T20:12:04.603408" elapsed="0.146265"/>
</kw>
<doc>Basic setup/cleanup work that can be done safely before any system
is run.</doc>
<status status="PASS" start="2026-08-18T20:12:01.957899" elapsed="2.791841"/>
</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-08-18T20:12:04.903880" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a985ba2f50&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-08-18T20:12:04.903509" elapsed="0.000567"/>
</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-08-18T20:12:04.926882" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:12:04.927413" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:12:04 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Cache-Control': 'no-cache', 'Content-Type': 'application/yang-data+json', 'Content-Length': '5571'} 
 body={"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":58036,"flow-node-inventory:table":[{"id":62},{"id":28},{"id":2},{"id":224},{"id":181},{"id":147},{"id":106},{"id":61},{"id":27},{"id":1},{"id":223},{"id":182},{"id":148},{"id":105},{"id":60},{"id":30},{"id":0},{"id":226},{"id":179},{"id":149},{"id":104},{"id":59},{"id":29},{"id":225},{"id":180},{"id":150},{"id":103},{"id":66},{"id":32},{"id":220},{"id":185},{"id":151},{"id":102},{"id":65},{"id":31},{"id":253},{"id":219},{"id":186},{"id":152},{"id":101},{"id":64},{"id":34},{"id":252},{"id":222},{"id":183},{"id":153},{"id":100},{"id":63},{"id":33},{"id":251},{"id":221},{"id":184},{"id":154},{"id":99},{"id":54},{"id":20},{"id":250},{"id":216},{"id":189},{"id":155},{"id":129},{"id":114},{"id":53},{"id":19},{"id":249},{"id":215},{"id":190},{"id":156},{"id":130},{"id":113},{"id":52},{"id":22},{"id":248},{"id":218},{"id":187},{"id":157},{"id":112},{"id":51},{"id":21},{"id":247},{"id":217},{"id":188},{"id":158},{"id":128},{"id":111},{"id":58},{"id":24},{"id":246},{"id":212},{"id":193},{"id":159},{"id":110},{"id":57},{"id":23},{"id":245},{"id":211},{"id":194},{"id":160},{"id":109},{"id":56},{"id":26},{"id":244},{"id":214},{"id":191},{"id":161},{"id":108},{"id":55},{"id":25},{"id":243},{"id":213},{"id":192},{"id":162},{"id":107},{"id":77},{"id":43},{"id":17},{"id":239},{"id":198},{"id":164},{"id":138},{"id":119},{"id":89},{"id":78},{"id":44},{"id":18},{"id":240},{"id":197},{"id":163},{"id":137},{"id":120},{"id":90},{"id":75},{"id":45},{"id":15},{"id":241},{"id":196},{"id":166},{"id":136},{"id":121},{"id":87},{"id":76},{"id":46},{"id":16},{"id":242},{"id":195},{"id":165},{"id":135},{"id":122},{"id":88},{"id":81},{"id":47},{"id":13},{"id":235},{"id":202},{"id":168},{"id":134},{"id":115},{"id":85},{"id":82},{"id":48},{"id":14},{"id":236},{"id":201},{"id":167},{"id":133},{"id":116},{"id":86},{"id":79},{"id":49},{"id":11},{"id":237},{"id":200},{"id":170},{"id":132},{"id":117},{"id":83},{"id":80},{"id":50},{"id":12},{"id":238},{"id":199},{"id":169},{"id":131},{"id":118},{"id":84},{"id":69},{"id":35},{"id":9},{"id":231},{"id":206},{"id":172},{"id":146},{"id":127},{"id":97},{"id":70},{"id":36},{"id":10},{"id":232},{"id":205},{"id":171},{"id":145},{"id":98},{"id":67},{"id":37},{"id":7},{"id":233},{"id":204},{"id":174},{"id":144},{"id":95},{"id":68},{"id":38},{"id":8},{"id":234},{"id":203},{"id":173},{"id":143},{"id":96},{"id":73},{"id":39},{"id":5},{"id":227},{"id":210},{"id":176},{"id":142},{"id":123},{"id":93},{"id":74},{"id":40},{"id":6},{"id":228},{"id":209},{"id":175},{"id":141},{"id":124},{"id":94},{"id":71},{"id":41},{"id":3},{"id":229},{"id":208},{"id":178},{"id":140},{"id":125},{"id":91},{"id":72},{"id":42},{"id":4},{"id":230},{"id":207},{"id":177},{"id":139},{"id":126},{"id":92}],"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-08-18T20:12:04.915Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ca:f8:ee:d6:7a:e3","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":""},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:9d:86:cb:2a:4f","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"},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:b5:c0:8b:6e:19","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":""}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None"}]} 
 </msg>
<msg time="2026-08-18T20:12:04.928076" 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-08-18T20:12:04.908090" elapsed="0.020051"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:04.932985" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":58036,"flow-node-inventory:table":[{"id":62},{"id":28},{"id":2},{"id":224},{"id":181},{"id":147},{"id":106},{"id":61},{"id":27},{"id":1},{"id":223},{"id":182},{"id":148},{"id":105},{"id":60},{"id":30},{"id":0},{"id":226},{"id":179},{"id":149},{"id":104},{"id":59},{"id":29},{"id":225},{"id":180},{"id":150},{"id":103},{"id":66},{"id":32},{"id":220},{"id":185},{"id":151},{"id":102},{"id":65},{"id":31},{"id":253},{"id":219},{"id":186},{"id":152},{"id":101},{"id":64},{"id":34},{"id":252},{"id":222},{"id":183},{"id":153},{"id":100},{"id":63},{"id":33},{"id":251},{"id":221},{"id":184},{"id":154},{"id":99},{"id":54},{"id":20},{"id":250},{"id":216},{"id":189},{"id":155},{"id":129},{"id":114},{"id":53},{"id":19},{"id":249},{"id":215},{"id":190},{"id":156},{"id":130},{"id":113},{"id":52},{"id":22},{"id":248},{"id":218},{"id":187},{"id":157},{"id":112},{"id":51},{"id":21},{"id":247},{"id":217},{"id":188},{"id":158},{"id":128},{"id":111},{"id":58},{"id":24},{"id":246},{"id":212},{"id":193},{"id":159},{"id":110},{"id":57},{"id":23},{"id":245},{"id":211},{"id":194},{"id":160},{"id":109},{"id":56},{"id":26},{"id":244},{"id":214},{"id":191},{"id":161},{"id":108},{"id":55},{"id":25},{"id":243},{"id":213},{"id":192},{"id":162},{"id":107},{"id":77},{"id":43},{"id":17},{"id":239},{"id":198},{"id":164},{"id":138},{"id":119},{"id":89},{"id":78},{"id":44},{"id":18},{"id":240},{"id":197},{"id":163},{"id":137},{"id":120},{"id":90},{"id":75},{"id":45},{"id":15},{"id":241},{"id":196},{"id":166},{"id":136},{"id":121},{"id":87},{"id":76},{"id":46},{"id":16},{"id":242},{"id":195},{"id":165},{"id":135},{"id":122},{"id":88},{"id":81},{"id":47},{"id":13},{"id":235},{"id":202},{"id":168},{"id":134},{"id":115},{"id":85},{"id":82},{"id":48},{"id":14},{"id":236},{"id":201},{"id":167},{"id":133},{"id":116},{"id":86},{"id":79},{"id":49},{"id":11},{"id":237},{"id":200},{"id":170},{"id":132},{"id":117},{"id":83},{"id":80},{"id":50},{"id":12},{"id":238},{"id":199},{"id":169},{"id":131},{"id":118},{"id":84},{"id":69},{"id":35},{"id":9},{"id":231},{"id":206},{"id":172},{"id":146},{"id":127},{"id":97},{"id":70},{"id":36},{"id":10},{"id":232},{"id":205},{"id":171},{"id":145},{"id":98},{"id":67},{"id":37},{"id":7},{"id":233},{"id":204},{"id":174},{"id":144},{"id":95},{"id":68},{"id":38},{"id":8},{"id":234},{"id":203},{"id":173},{"id":143},{"id":96},{"id":73},{"id":39},{"id":5},{"id":227},{"id":210},{"id":176},{"id":142},{"id":123},{"id":93},{"id":74},{"id":40},{"id":6},{"id":228},{"id":209},{"id":175},{"id":141},{"id":124},{"id":94},{"id":71},{"id":41},{"id":3},{"id":229},{"id":208},{"id":178},{"id":140},{"id":125},{"id":91},{"id":72},{"id":42},{"id":4},{"id":230},{"id":207},{"id":177},{"id":139},{"id":126},{"id":92}],"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-08-18T20:12:04.915Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ca:f8:ee:d6:7a:e3","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":""},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:9d:86:cb:2a:4f","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"},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:b5:c0:8b:6e:19","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":""}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None"}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:04.928632" elapsed="0.004441"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:12:04.935413" level="FAIL">'{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":58036,"flow-node-inventory:table":[{"id":62},{"id":28},{"id":2},{"id":224},{"id":181},{"id":147},{"id":106},{"id":61},{"id":27},{"id":1},{"id":223},{"id":182},{"id":148},{"id":105},{"id":60},{"id":30},{"id":0},{"id":226},{"id":179},{"id":149},{"id":104},{"id":59},{"id":29},{"id":225},{"id":180},{"id":150},{"id":103},{"id":66},{"id":32},{"id":220},{"id":185},{"id":151},{"id":102},{"id":65},{"id":31},{"id":253},{"id":219},{"id":186},{"id":152},{"id":101},{"id":64},{"id":34},{"id":252},{"id":222},{"id":183},{"id":153},{"id":100},{"id":63},{"id":33},{"id":251},{"id":221},{"id":184},{"id":154},{"id":99},{"id":54},{"id":20},{"id":250},{"id":216},{"id":189},{"id":155},{"id":129},{"id":114},{"id":53},{"id":19},{"id":249},{"id":215},{"id":190},{"id":156},{"id":130},{"id":113},{"id":52},{"id":22},{"id":248},{"id":218},{"id":187},{"id":157},{"id":112},{"id":51},{"id":21},{"id":247},{"id":217},{"id":188},{"id":158},{"id":128},{"id":111},{"id":58},{"id":24},{"id":246},{"id":212},{"id":193},{"id":159},{"id":110},{"id":57},{"id":23},{"id":245},{"id":211},{"id":194},{"id":160},{"id":109},{"id":56},{"id":26},{"id":244},{"id":214},{"id":191},{"id":161},{"id":108},{"id":55},{"id":25},{"id":243},{"id":213},{"id":192},{"id":162},{"id":107},{"id":77},{"id":43},{"id":17},{"id":239},{"id":198},{"id":164},{"id":138},{"id":119},{"id":89},{"id":78},{"id":44},{"id":18},{"id":240},{"id":197},{"id":163},{"id":137},{"id":120},{"id":90},{"id":75},{"id":45},{"id":15},{"id":241},{"id":196},{"id":166},{"id":136},{"id":121},{"id":87},{"id":76},{"id":46},{"id":16},{"id":242},{"id":195},{"id":165},{"id":135},{"id":122},{"id":88},{"id":81},{"id":47},{"id":13},{"id":235},{"id":202},{"id":168},{"id":134},{"id":115},{"id":85},{"id":82},{"id":48},{"id":14},{"id":236},{"id":201},{"id":167},{"id":133},{"id":116},{"id":86},{"id":79},{"id":49},{"id":11},{"id":237},{"id":200},{"id":170},{"id":132},{"id":117},{"id":83},{"id":80},{"id":50},{"id":12},{"id":238},{"id":199},{"id":169},{"id":131},{"id":118},{"id":84},{"id":69},{"id":35},{"id":9},{"id":231},{"id":206},{"id":172},{"id":146},{"id":127},{"id":97},{"id":70},{"id":36},{"id":10},{"id":232},{"id":205},{"id":171},{"id":145},{"id":98},{"id":67},{"id":37},{"id":7},{"id":233},{"id":204},{"id":174},{"id":144},{"id":95},{"id":68},{"id":38},{"id":8},{"id":234},{"id":203},{"id":173},{"id":143},{"id":96},{"id":73},{"id":39},{"id":5},{"id":227},{"id":210},{"id":176},{"id":142},{"id":123},{"id":93},{"id":74},{"id":40},{"id":6},{"id":228},{"id":209},{"id":175},{"id":141},{"id":124},{"id":94},{"id":71},{"id":41},{"id":3},{"id":229},{"id":208},{"id":178},{"id":140},{"id":125},{"id":91},{"id":72},{"id":42},{"id":4},{"id":230},{"id":207},{"id":177},{"id":139},{"id":126},{"id":92}],"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-08-18T20:12:04.915Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ca:f8:ee:d6:7a:e3","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":""},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:9d:86:cb:2a:4f","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"},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:b5:c0:8b:6e:19","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":""}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None"}]}' does not contain 'flow-capable-node-connector-statistics'</msg>
<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="FAIL" start="2026-08-18T20:12:04.933224" elapsed="0.002374">'{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":58036,"flow-node-inventory:table":[{"id":62},{"id":28},{"id":2},{"id":224},{"id":181},{"id":147},{"id":106},{"id":61},{"id":27},{"id":1},{"id":223},{"id":182},{"id":148},{"id":105},{"id":60},{"id":30},{"id":0},{"id":226},{"id":179},{"id":149},{"id":104},{"id":59},{"id":29},{"id":225},{"id":180},{"id":150},{"id":103},{"id":66},{"id":32},{"id":220},{"id":185},{"id":151},{"id":102},{"id":65},{"id":31},{"id":253},{"id":219},{"id":186},{"id":152},{"id":101},{"id":64},{"id":34},{"id":252},{"id":222},{"id":183},{"id":153},{"id":100},{"id":63},{"id":33},{"id":251},{"id":221},{"id":184},{"id":154},{"id":99},{"id":54},{"id":20},{"id":250},{"id":216},{"id":189},{"id":155},{"id":129},{"id":114},{"id":53},{"id":19},{"id":249},{"id":215},{"id":190},{"id":156},{"id":130},{"id":113},{"id":52},{"id":22},{"id":248},{"id":218},{"id":187},{"id":157},{"id":112},{"id":51},{"id":21},{"id":247},{"id":217},{"id":188},{"id":158},{"id":128},{"id":111},{"id":58},{"id":24},{"id":246},{"id":212},{"id":193},{"id":159},{"id":110},{"id":57},{"id":23},{"id":245},{"id":211},{"id":194},{"id":160},{"id":109},{"id":56},{"id":26},{"id":244},{"id":214},{"id":191},{"id":161},{"id":108},{"id":55},{"id":25},{"id":243},{"id":213},{"id":192},{"id":162},{"id":107},{"id":77},{"id":43},{"id":17},{"id":239},{"id":198},{"id":164},{"id":138},{"id":119},{"id":89},{"id":78},{"id":44},{"id":18},{"id":240},{"id":197},{"id":163},{"id":137},{"id":120},{"id":90},{"id":75},{"id":45},{"id":15},{"id":241},{...
    [ Message content over the limit has been removed. ]
...: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":""},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:9d:86:cb:2a:4f","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"},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:b5:c0:8b:6e:19","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":""}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None"}]}' does not contain 'flow-capable-node-connector-statistics'</status>
</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="NOT RUN" start="2026-08-18T20:12:04.935796" elapsed="0.000024"/>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:12:04.907976" elapsed="0.027919">'{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":58036,"flow-node-inventory:table":[{"id":62},{"id":28},{"id":2},{"id":224},{"id":181},{"id":147},{"id":106},{"id":61},{"id":27},{"id":1},{"id":223},{"id":182},{"id":148},{"id":105},{"id":60},{"id":30},{"id":0},{"id":226},{"id":179},{"id":149},{"id":104},{"id":59},{"id":29},{"id":225},{"id":180},{"id":150},{"id":103},{"id":66},{"id":32},{"id":220},{"id":185},{"id":151},{"id":102},{"id":65},{"id":31},{"id":253},{"id":219},{"id":186},{"id":152},{"id":101},{"id":64},{"id":34},{"id":252},{"id":222},{"id":183},{"id":153},{"id":100},{"id":63},{"id":33},{"id":251},{"id":221},{"id":184},{"id":154},{"id":99},{"id":54},{"id":20},{"id":250},{"id":216},{"id":189},{"id":155},{"id":129},{"id":114},{"id":53},{"id":19},{"id":249},{"id":215},{"id":190},{"id":156},{"id":130},{"id":113},{"id":52},{"id":22},{"id":248},{"id":218},{"id":187},{"id":157},{"id":112},{"id":51},{"id":21},{"id":247},{"id":217},{"id":188},{"id":158},{"id":128},{"id":111},{"id":58},{"id":24},{"id":246},{"id":212},{"id":193},{"id":159},{"id":110},{"id":57},{"id":23},{"id":245},{"id":211},{"id":194},{"id":160},{"id":109},{"id":56},{"id":26},{"id":244},{"id":214},{"id":191},{"id":161},{"id":108},{"id":55},{"id":25},{"id":243},{"id":213},{"id":192},{"id":162},{"id":107},{"id":77},{"id":43},{"id":17},{"id":239},{"id":198},{"id":164},{"id":138},{"id":119},{"id":89},{"id":78},{"id":44},{"id":18},{"id":240},{"id":197},{"id":163},{"id":137},{"id":120},{"id":90},{"id":75},{"id":45},{"id":15},{"id":241},{...
    [ Message content over the limit has been removed. ]
...: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":""},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:9d:86:cb:2a:4f","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"},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:b5:c0:8b:6e:19","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":""}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None"}]}' does not contain 'flow-capable-node-connector-statistics'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-08-18T20:12:04.906175" elapsed="0.029820">'{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":58036,"flow-node-inventory:table":[{"id":62},{"id":28},{"id":2},{"id":224},{"id":181},{"id":147},{"id":106},{"id":61},{"id":27},{"id":1},{"id":223},{"id":182},{"id":148},{"id":105},{"id":60},{"id":30},{"id":0},{"id":226},{"id":179},{"id":149},{"id":104},{"id":59},{"id":29},{"id":225},{"id":180},{"id":150},{"id":103},{"id":66},{"id":32},{"id":220},{"id":185},{"id":151},{"id":102},{"id":65},{"id":31},{"id":253},{"id":219},{"id":186},{"id":152},{"id":101},{"id":64},{"id":34},{"id":252},{"id":222},{"id":183},{"id":153},{"id":100},{"id":63},{"id":33},{"id":251},{"id":221},{"id":184},{"id":154},{"id":99},{"id":54},{"id":20},{"id":250},{"id":216},{"id":189},{"id":155},{"id":129},{"id":114},{"id":53},{"id":19},{"id":249},{"id":215},{"id":190},{"id":156},{"id":130},{"id":113},{"id":52},{"id":22},{"id":248},{"id":218},{"id":187},{"id":157},{"id":112},{"id":51},{"id":21},{"id":247},{"id":217},{"id":188},{"id":158},{"id":128},{"id":111},{"id":58},{"id":24},{"id":246},{"id":212},{"id":193},{"id":159},{"id":110},{"id":57},{"id":23},{"id":245},{"id":211},{"id":194},{"id":160},{"id":109},{"id":56},{"id":26},{"id":244},{"id":214},{"id":191},{"id":161},{"id":108},{"id":55},{"id":25},{"id":243},{"id":213},{"id":192},{"id":162},{"id":107},{"id":77},{"id":43},{"id":17},{"id":239},{"id":198},{"id":164},{"id":138},{"id":119},{"id":89},{"id":78},{"id":44},{"id":18},{"id":240},{"id":197},{"id":163},{"id":137},{"id":120},{"id":90},{"id":75},{"id":45},{"id":15},{"id":241},{...
    [ Message content over the limit has been removed. ]
...: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":""},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:9d:86:cb:2a:4f","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"},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:b5:c0:8b:6e:19","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":""}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None"}]}' does not contain 'flow-capable-node-connector-statistics'</status>
</for>
<arg>${1}</arg>
<doc>Check all switches and stats in operational inventory</doc>
<status status="FAIL" start="2026-08-18T20:12:04.904886" elapsed="0.031286">'{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":58036,"flow-node-inventory:table":[{"id":62},{"id":28},{"id":2},{"id":224},{"id":181},{"id":147},{"id":106},{"id":61},{"id":27},{"id":1},{"id":223},{"id":182},{"id":148},{"id":105},{"id":60},{"id":30},{"id":0},{"id":226},{"id":179},{"id":149},{"id":104},{"id":59},{"id":29},{"id":225},{"id":180},{"id":150},{"id":103},{"id":66},{"id":32},{"id":220},{"id":185},{"id":151},{"id":102},{"id":65},{"id":31},{"id":253},{"id":219},{"id":186},{"id":152},{"id":101},{"id":64},{"id":34},{"id":252},{"id":222},{"id":183},{"id":153},{"id":100},{"id":63},{"id":33},{"id":251},{"id":221},{"id":184},{"id":154},{"id":99},{"id":54},{"id":20},{"id":250},{"id":216},{"id":189},{"id":155},{"id":129},{"id":114},{"id":53},{"id":19},{"id":249},{"id":215},{"id":190},{"id":156},{"id":130},{"id":113},{"id":52},{"id":22},{"id":248},{"id":218},{"id":187},{"id":157},{"id":112},{"id":51},{"id":21},{"id":247},{"id":217},{"id":188},{"id":158},{"id":128},{"id":111},{"id":58},{"id":24},{"id":246},{"id":212},{"id":193},{"id":159},{"id":110},{"id":57},{"id":23},{"id":245},{"id":211},{"id":194},{"id":160},{"id":109},{"id":56},{"id":26},{"id":244},{"id":214},{"id":191},{"id":161},{"id":108},{"id":55},{"id":25},{"id":243},{"id":213},{"id":192},{"id":162},{"id":107},{"id":77},{"id":43},{"id":17},{"id":239},{"id":198},{"id":164},{"id":138},{"id":119},{"id":89},{"id":78},{"id":44},{"id":18},{"id":240},{"id":197},{"id":163},{"id":137},{"id":120},{"id":90},{"id":75},{"id":45},{"id":15},{"id":241},{...
    [ Message content over the limit has been removed. ]
...: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":""},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:9d:86:cb:2a:4f","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"},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:b5:c0:8b:6e:19","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":""}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None"}]}' does not contain 'flow-capable-node-connector-statistics'</status>
</kw>
<kw name="Check Switches In Inventory" owner="FlowLib">
<for flavor="IN RANGE">
<iter>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:05.957356" level="INFO">GET Request : url=http://10.30.171.138: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', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:05.957652" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 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":58036,"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":"0","active-flows":1,"packets-matched":"0"},"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":"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-08-18T20:12:05.957986" 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-08-18T20:12:05.943652" elapsed="0.014373"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:05.961078" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":58036,"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":"0","active-flows":1,"packets-matched":"0"},"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":"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-08-18T20:12:04.915Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ca:f8:ee:d6:7a:e3","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":"2","received":"1"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":205000000},"bytes":{"transmitted":"175","received":"90"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:9d:86:cb:2a:4f","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":198000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:b5:c0:8b:6e:19","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":"3","received":"1"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":0,"nanosecond":205000000},"bytes":{"transmitted":"265","received":"90"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:12:04.945Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:05.958274" elapsed="0.003323"/>
</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-08-18T20:12:05.961834" elapsed="0.002789"/>
</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-08-18T20:12:05.964902" elapsed="0.002263"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-08-18T20:12:05.943481" elapsed="0.023725"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-08-18T20:12:05.940346" elapsed="0.026892"/>
</for>
<arg>${1}</arg>
<doc>Check all switches and stats in operational inventory</doc>
<status status="PASS" start="2026-08-18T20:12:05.937176" elapsed="0.030123"/>
</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-08-18T20:12:04.904242" elapsed="1.063107"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:12:05.971057" 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-08-18T20:12:05.967503" elapsed="0.003623"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:12:05.996420" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=1.052s, table=0, n_packets=4, n_bytes=352, 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-08-18T20:12:05.971278" elapsed="0.025203"/>
</kw>
<doc>Initiate tcp connection with controller</doc>
<status status="PASS" start="2026-08-18T20:12:04.902845" elapsed="1.093697"/>
</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-08-18T20:12:05.997660" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:05.997399" elapsed="0.000306"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.001034" 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-08-18T20:12:06.001208" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.000879" elapsed="0.000358"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.001850" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.001388" elapsed="0.000491"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.002319" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.002031" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.002787" 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-08-18T20:12:06.002495" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.028835" 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-08-18T20:12:06.002969" elapsed="0.025943"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.031109" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.029134" elapsed="0.002009"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.031688" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.031315" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.032213" 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-08-18T20:12:06.031902" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.032721" 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-08-18T20:12:06.032408" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.033251" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.032942" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.033773" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.033448" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.034280" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.033972" 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-08-18T20:12:06.000514" elapsed="0.033869"/>
</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-08-18T20:12:06.041761" 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-08-18T20:12:06.041492" elapsed="0.000329"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.064437" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.064577" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.064850" 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-08-18T20:12:06.041953" elapsed="0.022989"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.069773" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.065314" elapsed="0.004524"/>
</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-08-18T20:12:06.041079" elapsed="0.028840"/>
</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-08-18T20:12:06.034534" elapsed="0.035458"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-08-18T20:12:05.997274" elapsed="0.072772"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.070725" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.070377" elapsed="0.000431"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.075599" 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-08-18T20:12:06.075816" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.075397" elapsed="0.000461"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.076631" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863547c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.076068" elapsed="0.000603"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.077334" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.076943" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.077983" 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-08-18T20:12:06.077579" elapsed="0.000430"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.078426" 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-08-18T20:12:06.078158" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.079205" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.078599" elapsed="0.000637"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.079706" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.079393" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.080269" 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-08-18T20:12:06.079950" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.080789" 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-08-18T20:12:06.080461" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.081303" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.080999" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.081819" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.081496" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.082316" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863547c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.082014" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.074935" elapsed="0.007477"/>
</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-08-18T20:12:06.089652" 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-08-18T20:12:06.089406" elapsed="0.000303"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.101567" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.101655" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.101908" 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-08-18T20:12:06.089851" elapsed="0.012114"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.106618" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.102317" elapsed="0.004397"/>
</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-08-18T20:12:06.089007" elapsed="0.017868"/>
</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-08-18T20:12:06.082559" elapsed="0.024434"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.070197" elapsed="0.036880"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.108160" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.107578" elapsed="0.000679"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.114835" 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-08-18T20:12:06.115016" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.114684" elapsed="0.000362"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.115575" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cb97b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.115194" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.116051" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.115774" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.116497" 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-08-18T20:12:06.116225" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.116967" 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-08-18T20:12:06.116670" elapsed="0.000323"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.117709" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.117140" elapsed="0.000599"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.118217" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.117908" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.118704" 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-08-18T20:12:06.118405" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.119212" 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-08-18T20:12:06.118906" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.119698" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.119398" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.120211" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.119910" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.120703" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cb97b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.120403" 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-08-18T20:12:06.114353" elapsed="0.006461"/>
</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-08-18T20:12:06.127899" 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-08-18T20:12:06.127637" elapsed="0.000328"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.139984" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.140081" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.140174" 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-08-18T20:12:06.128091" elapsed="0.012108"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.144633" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.140354" elapsed="0.004376"/>
</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-08-18T20:12:06.127246" elapsed="0.017666"/>
</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-08-18T20:12:06.120990" elapsed="0.024067"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.107295" elapsed="0.037847"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.146291" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.145636" 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-08-18T20:12:06.151726" 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-08-18T20:12:06.151875" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.151590" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.152440" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9940&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.152051" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.152906" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.152615" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.153363" 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-08-18T20:12:06.153092" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.153820" 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-08-18T20:12:06.153534" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.154600" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.153992" elapsed="0.000639"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.155109" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.154798" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.155607" 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-08-18T20:12:06.155299" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.156115" 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-08-18T20:12:06.155808" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.156597" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.156302" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.157136" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.156807" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.157628" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9940&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.157328" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.151264" elapsed="0.006457"/>
</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-08-18T20:12:06.164825" 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-08-18T20:12:06.164541" elapsed="0.000395"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.177282" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.177373" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.177499" 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-08-18T20:12:06.165096" elapsed="0.012438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.182465" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.177845" elapsed="0.004717"/>
</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-08-18T20:12:06.164125" elapsed="0.018566"/>
</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-08-18T20:12:06.157884" elapsed="0.024958"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.145356" elapsed="0.037571"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.183999" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.183423" 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-08-18T20:12:06.188469" 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-08-18T20:12:06.188600" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.188334" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.189203" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c1a9d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.188790" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.189665" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.189378" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.190122" 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-08-18T20:12:06.189854" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.190561" 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-08-18T20:12:06.190294" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.191396" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.190732" elapsed="0.000694"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.191906" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.191579" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.192399" 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-08-18T20:12:06.192096" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.192908" 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-08-18T20:12:06.192587" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.193421" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.193122" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.193977" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.193652" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.194476" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c1a9d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.194172" 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-08-18T20:12:06.188006" elapsed="0.006567"/>
</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-08-18T20:12:06.201665" 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-08-18T20:12:06.201419" elapsed="0.000306"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.214836" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.214987" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.215187" 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-08-18T20:12:06.201867" elapsed="0.013374"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.220230" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.215586" elapsed="0.004743"/>
</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-08-18T20:12:06.201024" elapsed="0.019437"/>
</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-08-18T20:12:06.194718" elapsed="0.025854"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.183143" elapsed="0.037512"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.221837" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.221254" elapsed="0.000647"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.226629" 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-08-18T20:12:06.226833" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.226440" elapsed="0.000435"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.227680" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986356700&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.227125" elapsed="0.000595"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.228334" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.227953" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.228969" 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-08-18T20:12:06.228576" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.229616" 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-08-18T20:12:06.229243" elapsed="0.000409"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.230735" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.229875" elapsed="0.000934"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.231458" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.231023" elapsed="0.000493"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.232176" 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-08-18T20:12:06.231728" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.232894" 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-08-18T20:12:06.232443" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.233615" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.233191" elapsed="0.000497"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.234229" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.233925" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.234724" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986356700&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.234423" 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-08-18T20:12:06.225980" elapsed="0.008857"/>
</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-08-18T20:12:06.241874" 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-08-18T20:12:06.241615" elapsed="0.000320"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.255448" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.255660" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.255913" 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-08-18T20:12:06.242058" elapsed="0.013918"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.260924" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.256326" elapsed="0.004745"/>
</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-08-18T20:12:06.241227" elapsed="0.019973"/>
</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-08-18T20:12:06.234984" elapsed="0.026328"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.220903" elapsed="0.040490"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.262229" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.261884" 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-08-18T20:12:06.267004" 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-08-18T20:12:06.267184" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.266807" elapsed="0.000417"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.268008" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.267429" elapsed="0.000619"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.268635" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.268255" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.269291" 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-08-18T20:12:06.268900" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.269922" 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-08-18T20:12:06.269531" elapsed="0.000427"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.271133" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.270161" elapsed="0.001015"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.271841" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.271387" elapsed="0.000514"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.272531" 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-08-18T20:12:06.272109" elapsed="0.000478"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.273272" 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-08-18T20:12:06.272811" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.273982" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.273535" elapsed="0.000491"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.274471" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.274173" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.274978" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.274660" 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-08-18T20:12:06.266330" elapsed="0.008742"/>
</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-08-18T20:12:06.282138" 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-08-18T20:12:06.281891" elapsed="0.000353"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.294207" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.294301" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.294426" 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-08-18T20:12:06.282372" elapsed="0.012089"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.297590" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.294678" elapsed="0.002972"/>
</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-08-18T20:12:06.281488" elapsed="0.016241"/>
</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-08-18T20:12:06.275215" elapsed="0.022608"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.261607" elapsed="0.036268"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.298528" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.298185" elapsed="0.000405"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.303307" 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-08-18T20:12:06.303500" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.303116" elapsed="0.000425"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.304419" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639a6b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.303763" elapsed="0.000696"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.305103" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.304664" elapsed="0.000484"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.305768" 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-08-18T20:12:06.305355" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.306251" 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-08-18T20:12:06.305982" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.307176" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.306423" elapsed="0.000783"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.307669" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.307360" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.308182" 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-08-18T20:12:06.307876" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.308679" 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-08-18T20:12:06.308371" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.309258" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.308931" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.309771" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.309452" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.310276" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639a6b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.309972" elapsed="0.000345"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.302632" elapsed="0.007739"/>
</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-08-18T20:12:06.317460" 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-08-18T20:12:06.317211" elapsed="0.000313"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.329678" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.329799" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.329932" 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-08-18T20:12:06.317649" elapsed="0.012318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.333072" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.330185" 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-08-18T20:12:06.316806" elapsed="0.016410"/>
</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-08-18T20:12:06.310516" elapsed="0.022770"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.298008" elapsed="0.035330"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.334061" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.333692" 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-08-18T20:12:06.338821" 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-08-18T20:12:06.339005" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.338611" elapsed="0.000434"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.339844" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399f80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.339249" elapsed="0.000634"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.340471" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.340092" elapsed="0.000415"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.341143" 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-08-18T20:12:06.340715" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.341803" 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-08-18T20:12:06.341384" elapsed="0.000462"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.342716" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.342002" elapsed="0.000758"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.343223" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.342913" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.343713" 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-08-18T20:12:06.343412" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.344225" 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-08-18T20:12:06.343921" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.344702" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.344410" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.345219" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.344908" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.345714" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399f80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.345414" 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-08-18T20:12:06.338155" elapsed="0.007669"/>
</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-08-18T20:12:06.352874" 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-08-18T20:12:06.352615" elapsed="0.000322"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.363318" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.363545" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.363789" 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-08-18T20:12:06.353085" elapsed="0.010766"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.368883" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.364205" elapsed="0.004775"/>
</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-08-18T20:12:06.352226" elapsed="0.016926"/>
</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-08-18T20:12:06.345969" elapsed="0.023300"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.333516" elapsed="0.035839"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.370208" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.369863" 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-08-18T20:12:06.375010" 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-08-18T20:12:06.375191" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.374821" elapsed="0.000410"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.376023" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4a40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.375436" elapsed="0.000626"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.376649" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.376267" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.377324" 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-08-18T20:12:06.376914" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.377969" 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-08-18T20:12:06.377565" elapsed="0.000430"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.378875" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.378142" elapsed="0.000764"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.379368" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.379058" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.379872" 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-08-18T20:12:06.379556" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.380366" 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-08-18T20:12:06.380059" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.380858" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.380550" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.381384" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.381048" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.381895" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4a40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.381575" 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-08-18T20:12:06.374345" elapsed="0.007645"/>
</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-08-18T20:12:06.389109" 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-08-18T20:12:06.388848" elapsed="0.000365"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.401251" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.401350" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.401473" 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-08-18T20:12:06.389341" elapsed="0.012167"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.404646" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.401778" elapsed="0.002927"/>
</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-08-18T20:12:06.388443" elapsed="0.016362"/>
</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-08-18T20:12:06.382136" elapsed="0.022741"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.369572" elapsed="0.035356"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.405608" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.405269" elapsed="0.000400"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.410440" 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-08-18T20:12:06.410622" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.410246" elapsed="0.000415"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.411458" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.410885" elapsed="0.000612"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.412102" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.411701" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.412707" 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-08-18T20:12:06.412341" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.413380" 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-08-18T20:12:06.412968" elapsed="0.000447"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.414419" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.413619" elapsed="0.000830"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.414934" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.414600" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.415424" 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-08-18T20:12:06.415122" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.415939" 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-08-18T20:12:06.415610" elapsed="0.000414"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.416473" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.416174" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.416987" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.416664" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.417500" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.417197" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.409737" elapsed="0.007858"/>
</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-08-18T20:12:06.424846" 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-08-18T20:12:06.424583" elapsed="0.000328"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.437371" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.437467" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.437590" 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-08-18T20:12:06.425035" elapsed="0.012589"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.442585" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.437989" elapsed="0.004693"/>
</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-08-18T20:12:06.424193" elapsed="0.018651"/>
</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-08-18T20:12:06.417740" elapsed="0.025220"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.405063" elapsed="0.037978"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.444191" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.443606" 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-08-18T20:12:06.448541" 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-08-18T20:12:06.448671" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.448409" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.449296" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6610&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.448860" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.449762" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.449475" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.450202" 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-08-18T20:12:06.449936" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.450638" 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-08-18T20:12:06.450374" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.451524" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.450827" elapsed="0.000727"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.452031" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.451704" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.452520" 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-08-18T20:12:06.452219" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.453032" 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-08-18T20:12:06.452708" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.453541" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.453244" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.454048" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.453731" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.454536" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6610&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.454237" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.448082" elapsed="0.006549"/>
</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-08-18T20:12:06.461695" 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-08-18T20:12:06.461452" elapsed="0.000325"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.476376" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.476536" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.476736" 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-08-18T20:12:06.461937" elapsed="0.014900"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.483322" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.477255" elapsed="0.006163"/>
</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-08-18T20:12:06.461041" elapsed="0.022504"/>
</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-08-18T20:12:06.454790" elapsed="0.028868"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.443325" elapsed="0.040415"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.484850" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.484271" 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-08-18T20:12:06.488884" 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-08-18T20:12:06.489014" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.488733" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.489605" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cec4a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.489203" elapsed="0.000430"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.490074" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.489798" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.490514" 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-08-18T20:12:06.490248" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.490969" 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-08-18T20:12:06.490686" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.491792" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.491140" elapsed="0.000683"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.492288" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.491976" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.492826" 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-08-18T20:12:06.492479" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.493374" 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-08-18T20:12:06.493017" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.493884" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.493563" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.494380" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.494075" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.494890" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cec4a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.494571" 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-08-18T20:12:06.488402" elapsed="0.006585"/>
</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-08-18T20:12:06.502048" 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-08-18T20:12:06.501800" elapsed="0.000309"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.512441" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.512562" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.512724" 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-08-18T20:12:06.502233" elapsed="0.010586"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.516942" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.513063" elapsed="0.003977"/>
</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-08-18T20:12:06.501397" elapsed="0.015810"/>
</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-08-18T20:12:06.495130" elapsed="0.022199"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.483989" elapsed="0.033424"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.518489" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.517941" 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-08-18T20:12:06.523856" 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-08-18T20:12:06.524067" 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-08-18T20:12:06.523654" elapsed="0.000443"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.524646" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986323d80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.524246" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.525111" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.524839" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.525562" 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-08-18T20:12:06.525297" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.526017" 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-08-18T20:12:06.525734" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.526850" 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-08-18T20:12:06.526186" elapsed="0.000695"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.527341" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.527032" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.527852" 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-08-18T20:12:06.527532" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.528348" 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-08-18T20:12:06.528041" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.528842" 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-08-18T20:12:06.528534" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.529372" 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-08-18T20:12:06.529039" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.529879" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986323d80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.529564" 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-08-18T20:12:06.523324" elapsed="0.006650"/>
</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-08-18T20:12:06.537029" 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-08-18T20:12:06.536782" elapsed="0.000309"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.548307" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.548404" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.548496" 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-08-18T20:12:06.537242" elapsed="0.011279"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.553174" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.548676" elapsed="0.004597"/>
</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-08-18T20:12:06.536378" elapsed="0.017024"/>
</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-08-18T20:12:06.530118" elapsed="0.023396"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.517627" elapsed="0.035969"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.554675" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.554126" 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-08-18T20:12:06.559954" 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-08-18T20:12:06.560085" 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-08-18T20:12:06.559819" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.560655" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cec540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.560263" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.561124" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.560849" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.561586" 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-08-18T20:12:06.561311" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.562047" 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-08-18T20:12:06.561775" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.562855" 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-08-18T20:12:06.562218" elapsed="0.000667"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.563349" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.563039" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.563854" 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-08-18T20:12:06.563538" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.564381" 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-08-18T20:12:06.564041" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.564898" 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-08-18T20:12:06.564579" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.565483" 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-08-18T20:12:06.565091" elapsed="0.000439"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.566011" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cec540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.565682" 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-08-18T20:12:06.559466" elapsed="0.006641"/>
</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-08-18T20:12:06.573106" 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-08-18T20:12:06.572859" elapsed="0.000373"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.588337" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.588402" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.588491" 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-08-18T20:12:06.573361" elapsed="0.015155"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.590729" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.588671" elapsed="0.002116"/>
</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-08-18T20:12:06.572457" elapsed="0.018388"/>
</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-08-18T20:12:06.566254" elapsed="0.024643"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.553845" elapsed="0.037088"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.591397" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.591154" elapsed="0.000287"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.594838" 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-08-18T20:12:06.594967" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.594690" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.595516" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5a80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.595141" elapsed="0.000403"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.595980" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.595690" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.596417" 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-08-18T20:12:06.596153" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.596868" 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-08-18T20:12:06.596588" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.597609" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.597038" elapsed="0.000601"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.598119" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.597807" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.598616" 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-08-18T20:12:06.598309" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.599127" 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-08-18T20:12:06.598819" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.599609" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.599315" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.600164" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.599857" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.600715" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5a80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.600399" 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-08-18T20:12:06.594363" elapsed="0.006469"/>
</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-08-18T20:12:06.607971" 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-08-18T20:12:06.607699" elapsed="0.000330"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.617437" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.617501" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.617589" 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-08-18T20:12:06.608157" elapsed="0.009457"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.622663" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.617898" elapsed="0.004913"/>
</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-08-18T20:12:06.607299" elapsed="0.015665"/>
</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-08-18T20:12:06.600980" elapsed="0.022109"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.591030" elapsed="0.032142"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.624263" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.623673" 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-08-18T20:12:06.628630" 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-08-18T20:12:06.628787" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.628495" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.629448" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cee840&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.628965" elapsed="0.000512"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.629966" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.629664" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.630410" 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-08-18T20:12:06.630141" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.630875" 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-08-18T20:12:06.630582" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.631576" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.631048" elapsed="0.000558"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.632098" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.631776" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.632600" 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-08-18T20:12:06.632292" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.633120" 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-08-18T20:12:06.632806" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.633657" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.633356" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.634178" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.633868" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.634673" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cee840&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.634370" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.628164" elapsed="0.006622"/>
</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-08-18T20:12:06.641873" 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-08-18T20:12:06.641609" elapsed="0.000321"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.654161" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.654300" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.654499" 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-08-18T20:12:06.642054" elapsed="0.012499"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.658985" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.655000" elapsed="0.004046"/>
</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-08-18T20:12:06.641219" elapsed="0.017905"/>
</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-08-18T20:12:06.634934" elapsed="0.024260"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.623392" elapsed="0.035853"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.659915" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.659550" elapsed="0.000427"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.664662" 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-08-18T20:12:06.664860" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.664478" elapsed="0.000423"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.665668" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639bc40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.665104" elapsed="0.000612"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.666215" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.665945" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.666648" 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-08-18T20:12:06.666386" elapsed="0.000287"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.667097" 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-08-18T20:12:06.666833" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.667814" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.667265" elapsed="0.000579"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.668303" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.667994" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.668812" 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-08-18T20:12:06.668491" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.669333" 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-08-18T20:12:06.669000" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.669850" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.669525" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.670348" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.670046" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.670855" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639bc40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.670540" 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-08-18T20:12:06.664026" elapsed="0.006924"/>
</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-08-18T20:12:06.678243" 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-08-18T20:12:06.677993" elapsed="0.000342"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.688526" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.688588" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.688677" 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-08-18T20:12:06.678462" elapsed="0.010240"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.692416" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.688879" elapsed="0.003633"/>
</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-08-18T20:12:06.677575" elapsed="0.015062"/>
</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-08-18T20:12:06.671096" elapsed="0.021684"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.659378" elapsed="0.033491"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.693969" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.693385" 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-08-18T20:12:06.699639" 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-08-18T20:12:06.699789" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.699507" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.700363" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986357560&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.699966" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.700845" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.700551" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.701311" 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-08-18T20:12:06.701018" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.701781" 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-08-18T20:12:06.701485" elapsed="0.000324"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.702633" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.701955" elapsed="0.000707"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.703141" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.702828" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.703634" 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-08-18T20:12:06.703332" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.704145" 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-08-18T20:12:06.703837" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.704627" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.704333" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.705176" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.704870" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.705698" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986357560&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.705381" 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-08-18T20:12:06.699166" elapsed="0.006643"/>
</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-08-18T20:12:06.712839" 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-08-18T20:12:06.712577" elapsed="0.000324"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.728659" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.728790" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.728994" 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-08-18T20:12:06.713026" elapsed="0.016023"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.734039" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.729424" elapsed="0.004713"/>
</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-08-18T20:12:06.712186" elapsed="0.022077"/>
</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-08-18T20:12:06.705956" elapsed="0.028421"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.693085" elapsed="0.041374"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.735620" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.735074" elapsed="0.000642"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.740308" 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-08-18T20:12:06.740437" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.740175" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.741066" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4cc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.740643" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.741521" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.741249" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.741974" 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-08-18T20:12:06.741692" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.742413" 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-08-18T20:12:06.742147" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.743257" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.742584" elapsed="0.000703"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.743765" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.743438" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.744271" 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-08-18T20:12:06.743966" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.744781" 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-08-18T20:12:06.744459" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.745294" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.744972" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.745808" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.745491" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.746302" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4cc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.746001" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.739851" elapsed="0.006546"/>
</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-08-18T20:12:06.753496" 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-08-18T20:12:06.753228" elapsed="0.000330"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.765931" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.766037" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.766128" 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-08-18T20:12:06.753681" elapsed="0.012472"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.770432" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.766306" elapsed="0.004222"/>
</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-08-18T20:12:06.752837" elapsed="0.017819"/>
</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-08-18T20:12:06.746542" elapsed="0.024257"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.734789" elapsed="0.036096"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.771955" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.771378" elapsed="0.000674"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.778773" 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-08-18T20:12:06.778903" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.778628" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.779484" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c187c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.779077" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.779949" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.779659" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.780390" 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-08-18T20:12:06.780125" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.780843" 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-08-18T20:12:06.780562" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.781735" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.781014" elapsed="0.000767"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.782249" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.781941" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.782740" 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-08-18T20:12:06.782440" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.783259" 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-08-18T20:12:06.782951" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.783738" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.783445" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.784245" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.783945" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.784755" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c187c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.784441" 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-08-18T20:12:06.778302" elapsed="0.006550"/>
</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-08-18T20:12:06.791912" 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-08-18T20:12:06.791651" elapsed="0.000364"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.804491" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.804559" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.804651" 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-08-18T20:12:06.792143" elapsed="0.012532"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.809391" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.804850" elapsed="0.004637"/>
</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-08-18T20:12:06.791262" elapsed="0.018348"/>
</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-08-18T20:12:06.784996" elapsed="0.024727"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.771099" elapsed="0.038741"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.810923" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.810353" 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-08-18T20:12:06.816004" 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-08-18T20:12:06.816133" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.815870" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.816681" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4b30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.816310" elapsed="0.000398"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.817146" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.816876" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.817596" 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-08-18T20:12:06.817327" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.818048" 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-08-18T20:12:06.817782" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.818728" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.818217" elapsed="0.000556"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.819235" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.818925" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.819726" 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-08-18T20:12:06.819424" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.820237" 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-08-18T20:12:06.819929" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.820779" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.820461" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.821277" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.820974" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.821798" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4b30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.821480" 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-08-18T20:12:06.815530" elapsed="0.006365"/>
</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-08-18T20:12:06.828912" 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-08-18T20:12:06.828648" elapsed="0.000320"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.840686" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.840804" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.840930" 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-08-18T20:12:06.829092" elapsed="0.011872"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.845432" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.841178" elapsed="0.004353"/>
</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-08-18T20:12:06.828259" elapsed="0.017402"/>
</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-08-18T20:12:06.822039" elapsed="0.023891"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.810079" elapsed="0.036053"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.847278" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.846646" elapsed="0.000729"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.852143" 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-08-18T20:12:06.852275" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.852011" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.852873" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639a070&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.852452" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.853369" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.853081" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.853831" 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-08-18T20:12:06.853544" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.854272" 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-08-18T20:12:06.854004" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.855164" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.854442" elapsed="0.000752"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.855657" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.855346" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.856173" 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-08-18T20:12:06.855868" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.856699" 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-08-18T20:12:06.856360" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.857204" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:06.856907" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.857826" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:06.857422" elapsed="0.000459"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.858333" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639a070&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.858030" elapsed="0.000345"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.851669" elapsed="0.006760"/>
</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-08-18T20:12:06.865481" 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-08-18T20:12:06.865199" elapsed="0.000344"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.879217" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.879316" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.879407" 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-08-18T20:12:06.865669" elapsed="0.013763"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.884000" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.879587" elapsed="0.004509"/>
</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-08-18T20:12:06.864808" elapsed="0.019414"/>
</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-08-18T20:12:06.858574" elapsed="0.025760"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.846364" elapsed="0.038052"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.885501" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.884931" elapsed="0.000666"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.891342" 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-08-18T20:12:06.891470" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.891210" elapsed="0.000289"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.892045" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639bba0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.891645" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.892490" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.892219" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.892947" 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-08-18T20:12:06.892661" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.893406" 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-08-18T20:12:06.893116" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.894188" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.893577" elapsed="0.000641"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.894677" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.894367" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.895195" 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-08-18T20:12:06.894891" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.895685" 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-08-18T20:12:06.895381" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.896185" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.895891" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.896678" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.896374" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.897182" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639bba0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.896884" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.890883" elapsed="0.006394"/>
</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-08-18T20:12:06.904328" 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-08-18T20:12:06.904083" elapsed="0.000336"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.916799" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.916888" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.917012" 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-08-18T20:12:06.904546" elapsed="0.012501"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.923163" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.917263" elapsed="0.005996"/>
</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-08-18T20:12:06.903688" elapsed="0.019697"/>
</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-08-18T20:12:06.897435" elapsed="0.026061"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.884627" elapsed="0.038950"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.924642" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.924101" elapsed="0.000639"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:06.928767" 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-08-18T20:12:06.928900" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.928621" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.929473" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3ddf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.929073" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.929935" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.929648" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.930372" 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-08-18T20:12:06.930108" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.930826" 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-08-18T20:12:06.930542" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.931560" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:06.930995" elapsed="0.000595"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.932061" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.931738" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.932548" 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-08-18T20:12:06.932248" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.933055" 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-08-18T20:12:06.932733" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.933571" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.933242" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.934123" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:06.933818" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.934612" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3ddf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.934313" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.928296" elapsed="0.006410"/>
</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-08-18T20:12:06.941850" 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-08-18T20:12:06.941585" elapsed="0.000324"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.953657" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.953719" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.953835" 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-08-18T20:12:06.942033" elapsed="0.011828"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.958674" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.954075" elapsed="0.004725"/>
</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-08-18T20:12:06.941131" elapsed="0.017799"/>
</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-08-18T20:12:06.934865" elapsed="0.024178"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.923822" elapsed="0.035301"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.960201" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.959614" 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-08-18T20:12:06.964626" 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-08-18T20:12:06.964770" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:06.964493" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:06.965334" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c38b30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.964947" elapsed="0.000429"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.965854" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:06.965556" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.966293" 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-08-18T20:12:06.966028" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:06.966729" 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-08-18T20:12:06.966463" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:06.967503" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.966917" elapsed="0.000616"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.968012" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.967685" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.968504" 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-08-18T20:12:06.968203" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.969017" 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-08-18T20:12:06.968692" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.969522" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:06.969203" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.970030" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.969712" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.970519" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c38b30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:06.970220" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:06.964165" elapsed="0.006448"/>
</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-08-18T20:12:06.977711" 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-08-18T20:12:06.977460" elapsed="0.000326"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:06.987377" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:06.987440" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:06.987562" 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-08-18T20:12:06.977912" elapsed="0.009675"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.992413" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.987783" elapsed="0.004725"/>
</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-08-18T20:12:06.977050" elapsed="0.015584"/>
</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-08-18T20:12:06.970771" elapsed="0.022003"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.959336" elapsed="0.033526"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:06.993950" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:06.993352" 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-08-18T20:12:06.999572" 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-08-18T20:12:06.999702" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:06.999438" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.000290" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c18400&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:06.999899" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.000736" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.000465" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.001191" 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-08-18T20:12:07.000925" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.001642" 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-08-18T20:12:07.001364" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.002461" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:07.001829" elapsed="0.000661"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.003024" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.002641" elapsed="0.000425"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.003518" 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-08-18T20:12:07.003215" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.004035" 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-08-18T20:12:07.003705" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.004518" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.004222" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.005025" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:07.004708" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.005558" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c18400&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.005216" 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-08-18T20:12:06.999108" elapsed="0.006547"/>
</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-08-18T20:12:07.012736" 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-08-18T20:12:07.012489" elapsed="0.000361"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.026140" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.026285" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.026484" 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-08-18T20:12:07.012978" elapsed="0.013561"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.030930" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.026920" elapsed="0.004069"/>
</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-08-18T20:12:07.012101" elapsed="0.018968"/>
</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-08-18T20:12:07.005821" elapsed="0.025319"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-08-18T20:12:06.993075" elapsed="0.038118"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.031864" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.031499" 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-08-18T20:12:07.036634" 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-08-18T20:12:07.036834" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:07.036448" elapsed="0.000426"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.037657" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f5b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.037079" elapsed="0.000624"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.038221" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.037946" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.038659" 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-08-18T20:12:07.038395" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.039121" 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-08-18T20:12:07.038853" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.039888" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.039292" elapsed="0.000627"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.040381" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.040070" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.040890" 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-08-18T20:12:07.040570" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.041384" 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-08-18T20:12:07.041078" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.041900" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:07.041584" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.042447" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.042140" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.042964" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f5b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.042640" 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-08-18T20:12:07.035993" elapsed="0.007067"/>
</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-08-18T20:12:07.050244" 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-08-18T20:12:07.049999" elapsed="0.000303"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.065088" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.065173" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.065296" 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-08-18T20:12:07.050428" elapsed="0.014902"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.070131" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.065569" elapsed="0.004660"/>
</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-08-18T20:12:07.049594" elapsed="0.020762"/>
</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-08-18T20:12:07.043203" elapsed="0.027265"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.031327" elapsed="0.039224"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.071632" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.071081" elapsed="0.000650"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.076461" 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-08-18T20:12:07.076590" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.076329" elapsed="0.000289"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.077187" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986357d30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.076782" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.077654" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.077362" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.078152" 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-08-18T20:12:07.077880" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.078595" 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-08-18T20:12:07.078326" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.079476" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.078788" elapsed="0.000718"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.079988" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.079658" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.080483" 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-08-18T20:12:07.080180" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.080996" 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-08-18T20:12:07.080670" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.081501" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.081183" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.082025" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.081705" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.082519" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986357d30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.082218" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.076004" elapsed="0.006610"/>
</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-08-18T20:12:07.089737" 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-08-18T20:12:07.089489" elapsed="0.000328"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.100812" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.100910" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.101017" 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-08-18T20:12:07.089943" elapsed="0.011138"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.106165" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.101474" elapsed="0.004786"/>
</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-08-18T20:12:07.089079" elapsed="0.017308"/>
</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-08-18T20:12:07.082773" elapsed="0.023727"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.070796" elapsed="0.035787"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.107660" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.107112" 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-08-18T20:12:07.112361" 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-08-18T20:12:07.112496" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.112229" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.113100" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639ba60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.112670" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.113559" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.113277" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.114021" 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-08-18T20:12:07.113733" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.114461" 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-08-18T20:12:07.114194" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.115359" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.114631" elapsed="0.000758"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.115868" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.115540" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.116385" 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-08-18T20:12:07.116060" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.116900" 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-08-18T20:12:07.116575" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.117391" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.117088" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.117948" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.117622" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.118441" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639ba60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.118141" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.111903" elapsed="0.006632"/>
</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-08-18T20:12:07.125624" 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-08-18T20:12:07.125350" elapsed="0.000382"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.138725" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.138928" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.139131" 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-08-18T20:12:07.125882" elapsed="0.013305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.144178" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.139537" elapsed="0.004736"/>
</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-08-18T20:12:07.124960" elapsed="0.019439"/>
</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-08-18T20:12:07.118680" elapsed="0.025830"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.106827" elapsed="0.037765"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.145722" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.145121" elapsed="0.000728"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.150600" 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-08-18T20:12:07.150873" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.150417" elapsed="0.000499"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.151704" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2a750&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.151123" elapsed="0.000640"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.152351" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.151972" elapsed="0.000415"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.152986" 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-08-18T20:12:07.152591" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.153636" 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-08-18T20:12:07.153228" elapsed="0.000444"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.154691" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.153908" elapsed="0.000814"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.155208" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.154895" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.155704" 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-08-18T20:12:07.155400" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.156261" 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-08-18T20:12:07.155947" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.156763" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.156452" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.157267" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.156957" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.157794" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2a750&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.157469" 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-08-18T20:12:07.149961" elapsed="0.007930"/>
</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-08-18T20:12:07.164994" 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-08-18T20:12:07.164733" elapsed="0.000327"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.176249" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.176347" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.176474" 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-08-18T20:12:07.165189" elapsed="0.011320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.180855" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.176728" elapsed="0.004225"/>
</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-08-18T20:12:07.164338" elapsed="0.016743"/>
</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-08-18T20:12:07.158036" elapsed="0.023237"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.144838" elapsed="0.036520"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.182480" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.181931" 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-08-18T20:12:07.187819" 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-08-18T20:12:07.187949" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.187672" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.188535" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5c10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.188125" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.188995" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.188709" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.189432" 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-08-18T20:12:07.189167" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.189900" 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-08-18T20:12:07.189618" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.190765" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.190071" elapsed="0.000725"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.191259" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.190947" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.191774" 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-08-18T20:12:07.191455" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.192269" 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-08-18T20:12:07.191962" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.192765" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.192456" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.193261" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.192957" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.193795" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5c10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.193450" 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-08-18T20:12:07.187345" elapsed="0.006546"/>
</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-08-18T20:12:07.200954" 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-08-18T20:12:07.200693" elapsed="0.000369"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.212392" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.212543" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.212741" 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-08-18T20:12:07.201198" elapsed="0.011648"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.217883" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.213196" elapsed="0.004747"/>
</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-08-18T20:12:07.200299" elapsed="0.017725"/>
</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-08-18T20:12:07.194035" elapsed="0.024059"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.181614" elapsed="0.036531"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.218812" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.218451" elapsed="0.000424"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.223560" 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-08-18T20:12:07.223740" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.223376" elapsed="0.000425"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.224571" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630c900&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.224007" elapsed="0.000603"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.225215" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.224835" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.225922" 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-08-18T20:12:07.225455" elapsed="0.000498"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.226370" 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-08-18T20:12:07.226104" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.227244" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.226540" elapsed="0.000735"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.227735" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.227425" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.228248" 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-08-18T20:12:07.227947" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.228738" 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-08-18T20:12:07.228434" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.229275" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.228978" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.229795" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.229464" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.230290" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630c900&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.229988" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.222923" elapsed="0.007462"/>
</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-08-18T20:12:07.237425" 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-08-18T20:12:07.237182" elapsed="0.000306"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.249195" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.249348" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.249582" 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-08-18T20:12:07.237641" elapsed="0.012005"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.254433" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.250025" elapsed="0.004468"/>
</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-08-18T20:12:07.236797" elapsed="0.017773"/>
</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-08-18T20:12:07.230529" elapsed="0.024112"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.218278" elapsed="0.036539"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.255482" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.255140" 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-08-18T20:12:07.260280" 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-08-18T20:12:07.260463" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.260094" elapsed="0.000410"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.261293" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cec540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.260710" elapsed="0.000622"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.261985" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.261572" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.262423" 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-08-18T20:12:07.262158" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.262875" 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-08-18T20:12:07.262594" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.263731" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.263045" elapsed="0.000732"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.264247" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.263935" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.264735" 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-08-18T20:12:07.264436" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.265244" 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-08-18T20:12:07.264938" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.265769" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.265429" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.266265" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.265965" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.266768" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cec540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.266454" 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-08-18T20:12:07.259616" elapsed="0.007248"/>
</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-08-18T20:12:07.273913" 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-08-18T20:12:07.273651" elapsed="0.000325"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.284939" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.285081" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.285208" 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-08-18T20:12:07.274101" elapsed="0.011142"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.289915" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.285458" elapsed="0.004560"/>
</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-08-18T20:12:07.273247" elapsed="0.016899"/>
</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-08-18T20:12:07.267009" elapsed="0.023250"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.254965" elapsed="0.035377"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.291409" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.290861" elapsed="0.000644"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.296327" 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-08-18T20:12:07.296456" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.296195" elapsed="0.000289"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.297061" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5da0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.296631" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.297505" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.297237" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.297990" 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-08-18T20:12:07.297704" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.298427" 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-08-18T20:12:07.298162" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.299344" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.298595" elapsed="0.000779"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.299856" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.299530" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.300346" 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-08-18T20:12:07.300046" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.300851" 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-08-18T20:12:07.300531" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.301330" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.301037" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.301858" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.301518" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.302356" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5da0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.302056" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.295868" elapsed="0.006581"/>
</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-08-18T20:12:07.309464" 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-08-18T20:12:07.309221" elapsed="0.000375"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.321708" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.321820" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.322042" 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-08-18T20:12:07.309730" elapsed="0.012368"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.327082" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.322443" elapsed="0.004734"/>
</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-08-18T20:12:07.308839" elapsed="0.018463"/>
</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-08-18T20:12:07.302592" elapsed="0.024822"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.290553" elapsed="0.036942"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.328563" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.328018" elapsed="0.000641"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.333280" 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-08-18T20:12:07.333411" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.333148" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.334035" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630cfe0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.333599" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.334476" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.334208" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.334926" 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-08-18T20:12:07.334647" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.335360" 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-08-18T20:12:07.335096" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.336284" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.335528" elapsed="0.000786"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.336788" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.336465" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.337280" 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-08-18T20:12:07.336979" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.337856" 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-08-18T20:12:07.337503" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.338345" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.338048" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.338861" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.338536" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.339367" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630cfe0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.339065" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.332821" elapsed="0.006641"/>
</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-08-18T20:12:07.346508" 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-08-18T20:12:07.346265" elapsed="0.000308"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.359198" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.359353" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.359547" 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-08-18T20:12:07.346696" elapsed="0.012907"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.366111" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.359992" elapsed="0.006180"/>
</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-08-18T20:12:07.345878" elapsed="0.020415"/>
</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-08-18T20:12:07.339606" elapsed="0.026758"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.327706" elapsed="0.038708"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.367084" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.366721" elapsed="0.000423"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.371848" 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-08-18T20:12:07.372028" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.371644" elapsed="0.000425"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.372866" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987ced260&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.372273" elapsed="0.000632"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.373488" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.373110" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.374188" 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-08-18T20:12:07.373804" elapsed="0.000410"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.374626" 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-08-18T20:12:07.374360" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.375545" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.374810" elapsed="0.000765"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.376059" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.375725" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.376551" 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-08-18T20:12:07.376249" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.377064" 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-08-18T20:12:07.376739" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.377549" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.377252" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.378078" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.377774" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.378571" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987ced260&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.378271" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.371189" elapsed="0.007478"/>
</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-08-18T20:12:07.385781" 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-08-18T20:12:07.385503" elapsed="0.000380"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.397084" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.397183" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.397305" 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-08-18T20:12:07.386010" elapsed="0.011329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.401620" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.397554" elapsed="0.004166"/>
</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-08-18T20:12:07.385116" elapsed="0.016764"/>
</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-08-18T20:12:07.378830" elapsed="0.023163"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.366548" elapsed="0.035527"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.403154" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.402567" elapsed="0.000684"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.409295" 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-08-18T20:12:07.409477" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.409111" elapsed="0.000406"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.410308" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630cbd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.409736" elapsed="0.000610"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.410949" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.410550" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.411556" 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-08-18T20:12:07.411188" elapsed="0.000403"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.412181" 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-08-18T20:12:07.411812" elapsed="0.000405"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.413333" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.412418" elapsed="0.000957"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.414083" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.413585" elapsed="0.000555"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.414822" 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-08-18T20:12:07.414347" elapsed="0.000537"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.415384" 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-08-18T20:12:07.415071" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.415887" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.415574" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.416381" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.416080" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.416889" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630cbd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.416572" 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-08-18T20:12:07.408640" elapsed="0.008345"/>
</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-08-18T20:12:07.424076" 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-08-18T20:12:07.423830" elapsed="0.000308"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.437681" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.437803" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.437930" 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-08-18T20:12:07.424262" elapsed="0.013702"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.442504" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.438181" elapsed="0.004418"/>
</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-08-18T20:12:07.423427" elapsed="0.019306"/>
</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-08-18T20:12:07.417128" elapsed="0.025771"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.402289" elapsed="0.040692"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.444136" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.443542" 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-08-18T20:12:07.451355" 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-08-18T20:12:07.451484" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.451223" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.452085" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cec7c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.451658" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.452529" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.452259" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.452989" 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-08-18T20:12:07.452700" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.453423" 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-08-18T20:12:07.453159" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.454333" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.453593" elapsed="0.000770"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.454840" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.454514" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.455368" 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-08-18T20:12:07.455050" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.455892" 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-08-18T20:12:07.455563" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.456377" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.456081" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.456886" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.456568" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.457380" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cec7c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.457078" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.450893" elapsed="0.006582"/>
</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-08-18T20:12:07.464701" 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-08-18T20:12:07.464454" elapsed="0.000327"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.475516" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.475620" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.475713" 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-08-18T20:12:07.464908" elapsed="0.010830"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.477984" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.475918" elapsed="0.002108"/>
</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-08-18T20:12:07.464065" elapsed="0.014020"/>
</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-08-18T20:12:07.457641" elapsed="0.020494"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.443264" elapsed="0.034908"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.478635" level="INFO">f156.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.478393" elapsed="0.000286"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.486363" 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-08-18T20:12:07.486649" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.486063" elapsed="0.000654"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.487388" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639ab10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.486996" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.487848" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.487561" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.488284" 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-08-18T20:12:07.488020" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.488721" 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-08-18T20:12:07.488456" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.489569" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:07.488907" elapsed="0.000692"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.490092" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.489779" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.490581" 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-08-18T20:12:07.490281" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.491094" 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-08-18T20:12:07.490784" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.491649" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.491299" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.492443" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:07.492086" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.493049" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639ab10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.492666" elapsed="0.000434"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.485252" elapsed="0.007909"/>
</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-08-18T20:12:07.501103" 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-08-18T20:12:07.500852" elapsed="0.000362"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.514358" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.514504" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.514699" 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-08-18T20:12:07.501343" elapsed="0.013451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.519442" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.515144" elapsed="0.004361"/>
</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-08-18T20:12:07.500443" elapsed="0.019146"/>
</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-08-18T20:12:07.493328" elapsed="0.026336"/>
</kw>
<var name="${flowfile}">f156.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.478270" elapsed="0.041449"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.520431" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.520071" 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-08-18T20:12:07.525535" 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-08-18T20:12:07.525759" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.525338" elapsed="0.000467"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.526616" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c18bd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.526022" elapsed="0.000634"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.527304" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.526899" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.527976" 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-08-18T20:12:07.527561" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.528587" 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-08-18T20:12:07.528217" elapsed="0.000405"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.529897" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.528855" elapsed="0.001087"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.530637" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.530167" elapsed="0.000531"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.531178" 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-08-18T20:12:07.530874" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.531676" 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-08-18T20:12:07.531370" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.532214" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.531913" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.532736" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.532432" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.533247" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c18bd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.532945" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.524854" elapsed="0.008488"/>
</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-08-18T20:12:07.540455" 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-08-18T20:12:07.540210" elapsed="0.000308"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.552786" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.552885" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.553008" 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-08-18T20:12:07.540642" elapsed="0.012400"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.557013" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.553257" elapsed="0.003887"/>
</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-08-18T20:12:07.539822" elapsed="0.017450"/>
</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-08-18T20:12:07.533488" elapsed="0.023894"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.519887" elapsed="0.037578"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.558571" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.558032" elapsed="0.000633"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.564364" 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-08-18T20:12:07.564564" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.564232" elapsed="0.000362"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.565159" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987ced1c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.564756" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.565607" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.565335" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.566085" 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-08-18T20:12:07.565815" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.566525" 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-08-18T20:12:07.566258" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.567383" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.566698" elapsed="0.000715"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.567897" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.567571" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.568389" 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-08-18T20:12:07.568089" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.568898" 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-08-18T20:12:07.568576" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.569390" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.569086" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.569930" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.569580" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.570425" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987ced1c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.570124" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.563861" elapsed="0.006658"/>
</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-08-18T20:12:07.577590" 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-08-18T20:12:07.577345" elapsed="0.000307"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.590359" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.590463" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.590554" 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-08-18T20:12:07.577822" elapsed="0.012757"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.595377" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.590735" elapsed="0.004737"/>
</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-08-18T20:12:07.576954" elapsed="0.018642"/>
</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-08-18T20:12:07.570663" elapsed="0.025043"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.557719" elapsed="0.038103"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.596894" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.596318" 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-08-18T20:12:07.603604" 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-08-18T20:12:07.603732" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.603471" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.604322" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c3bc90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.603923" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.604786" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.604496" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.605224" 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-08-18T20:12:07.604960" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.605656" 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-08-18T20:12:07.605394" elapsed="0.000287"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.606512" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.605854" elapsed="0.000689"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.607033" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.606700" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.607521" 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-08-18T20:12:07.607222" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.608028" 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-08-18T20:12:07.607705" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.608507" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.608215" elapsed="0.000335"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.609009" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.608694" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.609504" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c3bc90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.609200" elapsed="0.000345"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.603144" elapsed="0.006454"/>
</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-08-18T20:12:07.616663" 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-08-18T20:12:07.616419" elapsed="0.000360"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.626458" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.626525" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.626614" 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-08-18T20:12:07.616908" elapsed="0.009731"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.631508" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.626886" elapsed="0.004718"/>
</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-08-18T20:12:07.616025" elapsed="0.015704"/>
</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-08-18T20:12:07.609797" elapsed="0.022081"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.596040" elapsed="0.035921"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.633026" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.632450" elapsed="0.000674"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.637439" 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-08-18T20:12:07.637569" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.637305" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.638175" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f290&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.637772" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.638622" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.638351" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.639079" 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-08-18T20:12:07.638811" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.639515" 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-08-18T20:12:07.639250" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.640358" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.639685" elapsed="0.000703"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.640863" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.640539" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.641356" 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-08-18T20:12:07.641053" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.641887" 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-08-18T20:12:07.641541" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.642413" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.642112" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.642923" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.642605" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.643419" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f290&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.643117" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.636976" elapsed="0.006538"/>
</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-08-18T20:12:07.650595" 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-08-18T20:12:07.650347" elapsed="0.000310"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.659974" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.660042" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.660128" 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-08-18T20:12:07.650803" elapsed="0.009350"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.664448" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.660313" elapsed="0.004231"/>
</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-08-18T20:12:07.649949" elapsed="0.014722"/>
</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-08-18T20:12:07.643659" elapsed="0.021157"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.632173" elapsed="0.032729"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.665991" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.665392" 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-08-18T20:12:07.672242" 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-08-18T20:12:07.672371" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.672109" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.672974" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e070&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.672545" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.673419" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.673148" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.673892" 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-08-18T20:12:07.673591" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.674328" 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-08-18T20:12:07.674064" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.675225" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:07.674496" elapsed="0.000759"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.675715" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.675405" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.676227" 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-08-18T20:12:07.675924" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.676721" 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-08-18T20:12:07.676416" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.677219" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.676925" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.677707" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:07.677407" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.678253" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e070&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.677950" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.671782" elapsed="0.006565"/>
</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-08-18T20:12:07.685652" 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-08-18T20:12:07.685406" elapsed="0.000312"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.698120" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.698349" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.698553" 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-08-18T20:12:07.685886" elapsed="0.012722"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.703336" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.698990" elapsed="0.004405"/>
</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-08-18T20:12:07.685021" elapsed="0.018454"/>
</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-08-18T20:12:07.678492" elapsed="0.025052"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.665116" elapsed="0.038480"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.704267" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.703924" elapsed="0.000402"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.709131" 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-08-18T20:12:07.709312" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.708944" elapsed="0.000408"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.710177" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf380&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.709557" elapsed="0.000660"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.710859" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.710424" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.711318" 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-08-18T20:12:07.711053" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.711770" 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-08-18T20:12:07.711491" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.712650" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:07.711944" elapsed="0.000736"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.713163" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.712853" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.713650" 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-08-18T20:12:07.713351" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.714194" 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-08-18T20:12:07.713886" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.714672" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.714380" elapsed="0.000335"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.715176" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:07.714876" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.715662" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf380&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.715364" elapsed="0.000338"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.708465" elapsed="0.007306"/>
</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-08-18T20:12:07.722859" 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-08-18T20:12:07.722599" elapsed="0.000364"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.738565" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.738720" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.738960" 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-08-18T20:12:07.723091" elapsed="0.015925"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.744015" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.739363" elapsed="0.004750"/>
</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-08-18T20:12:07.722211" elapsed="0.022028"/>
</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-08-18T20:12:07.715918" elapsed="0.028434"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.703729" elapsed="0.040704"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.745498" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.744951" 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-08-18T20:12:07.749685" 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-08-18T20:12:07.749837" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.749553" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.750412" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe7a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.750011" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.750872" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.750584" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.751308" 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-08-18T20:12:07.751045" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.751762" 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-08-18T20:12:07.751479" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.752621" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.751933" elapsed="0.000718"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.753130" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.752818" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.753621" 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-08-18T20:12:07.753319" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.754203" 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-08-18T20:12:07.753888" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.754690" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.754392" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.755202" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.754898" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.755692" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe7a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.755392" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.749229" elapsed="0.006575"/>
</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-08-18T20:12:07.762860" 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-08-18T20:12:07.762599" elapsed="0.000324"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.774574" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.774669" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.774821" 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-08-18T20:12:07.763047" elapsed="0.011811"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.777957" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.775081" elapsed="0.002937"/>
</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-08-18T20:12:07.762213" elapsed="0.015884"/>
</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-08-18T20:12:07.755950" elapsed="0.022218"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.744644" elapsed="0.033615"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.778940" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.778571" 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-08-18T20:12:07.783707" 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-08-18T20:12:07.783905" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.783523" elapsed="0.000422"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.784688" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd990&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.784149" elapsed="0.000578"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.785333" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.784954" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.786013" 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-08-18T20:12:07.785572" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.786623" 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-08-18T20:12:07.786254" elapsed="0.000404"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.787473" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.786838" elapsed="0.000665"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.787982" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.787654" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.788473" 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-08-18T20:12:07.788171" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.788983" 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-08-18T20:12:07.788659" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.789466" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:07.789170" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.790002" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:07.789662" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.790494" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd990&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.790194" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.783072" elapsed="0.007516"/>
</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-08-18T20:12:07.797640" 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-08-18T20:12:07.797395" elapsed="0.000306"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.807867" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.808004" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.808132" 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-08-18T20:12:07.797852" elapsed="0.010316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.813115" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.808385" elapsed="0.004826"/>
</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-08-18T20:12:07.797009" elapsed="0.016329"/>
</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-08-18T20:12:07.790733" elapsed="0.022712"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.778395" elapsed="0.035132"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.814639" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.814092" 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-08-18T20:12:07.820429" 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-08-18T20:12:07.820558" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:07.820297" elapsed="0.000289"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.821124" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911a80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.820734" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.821567" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.821298" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.822029" 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-08-18T20:12:07.821739" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.822460" 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-08-18T20:12:07.822198" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.823170" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.822630" elapsed="0.000570"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.823660" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.823351" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.824170" 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-08-18T20:12:07.823866" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.824661" 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-08-18T20:12:07.824356" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.825166" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:07.824868" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.825654" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.825355" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.826190" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911a80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.825880" 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-08-18T20:12:07.819972" elapsed="0.006313"/>
</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-08-18T20:12:07.833272" 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-08-18T20:12:07.833028" elapsed="0.000334"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.845256" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.845392" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.845588" 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-08-18T20:12:07.833488" elapsed="0.012155"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.850631" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.846040" elapsed="0.004686"/>
</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-08-18T20:12:07.832632" elapsed="0.018198"/>
</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-08-18T20:12:07.826428" elapsed="0.024473"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.813737" elapsed="0.037216"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.851597" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.851259" elapsed="0.000399"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.856335" 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-08-18T20:12:07.856514" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:07.856153" elapsed="0.000402"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.857322" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859128e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.856780" elapsed="0.000580"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.857981" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.857562" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.858585" 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-08-18T20:12:07.858219" elapsed="0.000401"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.859210" 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-08-18T20:12:07.858841" elapsed="0.000404"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.860326" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:07.859445" elapsed="0.000922"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.861030" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.860576" elapsed="0.000511"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.861713" 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-08-18T20:12:07.861292" elapsed="0.000496"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.862455" 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-08-18T20:12:07.862024" elapsed="0.000487"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.863093" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:07.862718" elapsed="0.000419"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.863622" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:07.863320" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.864132" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859128e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.863830" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:07.855685" elapsed="0.008541"/>
</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-08-18T20:12:07.871339" 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-08-18T20:12:07.871094" elapsed="0.000305"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.884414" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.884559" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.884798" 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-08-18T20:12:07.871523" elapsed="0.013335"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.889880" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.885206" elapsed="0.004781"/>
</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-08-18T20:12:07.870694" elapsed="0.019420"/>
</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-08-18T20:12:07.864369" elapsed="0.025857"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.851086" elapsed="0.039222"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.891182" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.890835" 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-08-18T20:12:07.895920" 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-08-18T20:12:07.896099" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:07.895717" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.896888" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911760&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.896339" elapsed="0.000588"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.897560" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.897180" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.898206" 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-08-18T20:12:07.897820" elapsed="0.000421"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.898838" 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-08-18T20:12:07.898444" elapsed="0.000429"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.899878" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.899076" elapsed="0.000844"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.900558" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.900129" elapsed="0.000486"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.901261" 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-08-18T20:12:07.900841" elapsed="0.000477"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.902004" 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-08-18T20:12:07.901524" elapsed="0.000539"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.902680" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:07.902269" elapsed="0.000508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.903286" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.902988" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.903796" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911760&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.903481" 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-08-18T20:12:07.895266" elapsed="0.008626"/>
</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-08-18T20:12:07.910947" 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-08-18T20:12:07.910684" elapsed="0.000320"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.921195" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.921258" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.921346" 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-08-18T20:12:07.911127" elapsed="0.010275"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.926005" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.921559" elapsed="0.004543"/>
</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-08-18T20:12:07.910301" elapsed="0.015927"/>
</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-08-18T20:12:07.904035" elapsed="0.022304"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.890521" elapsed="0.035898"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.927480" level="INFO">f221.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.926940" elapsed="0.000637"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.933169" 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-08-18T20:12:07.933296" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.933038" elapsed="0.000287"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.933879" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc450&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.933470" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.934332" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.934062" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.934789" 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-08-18T20:12:07.934506" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.935228" 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-08-18T20:12:07.934963" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.936030" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:07.935398" elapsed="0.000662"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.936521" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.936213" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.937030" 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-08-18T20:12:07.936711" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.937520" 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-08-18T20:12:07.937216" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.938049" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:07.937706" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.938540" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:07.938240" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.939057" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc450&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.938731" 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-08-18T20:12:07.932702" elapsed="0.006450"/>
</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-08-18T20:12:07.946251" 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-08-18T20:12:07.946000" elapsed="0.000348"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.954444" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.954509" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.954598" 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-08-18T20:12:07.946475" elapsed="0.008148"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.959462" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.954810" elapsed="0.004748"/>
</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-08-18T20:12:07.945567" elapsed="0.014118"/>
</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-08-18T20:12:07.939295" elapsed="0.020537"/>
</kw>
<var name="${flowfile}">f221.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.926632" elapsed="0.033286"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.960980" level="INFO">f222.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.960408" 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-08-18T20:12:07.965476" 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-08-18T20:12:07.965604" 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-08-18T20:12:07.965345" elapsed="0.000287"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:07.966184" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859136f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:07.965794" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.966626" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:07.966358" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.967090" 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-08-18T20:12:07.966818" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:07.967525" 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-08-18T20:12:07.967260" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:07.968191" 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-08-18T20:12:07.967693" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.968680" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.968370" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.969189" 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-08-18T20:12:07.968885" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.969684" 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-08-18T20:12:07.969377" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.970203" 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-08-18T20:12:07.969901" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.970738" 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-08-18T20:12:07.970433" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.971253" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859136f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:07.970948" 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-08-18T20:12:07.965021" elapsed="0.006328"/>
</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-08-18T20:12:07.978502" 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-08-18T20:12:07.978174" elapsed="0.000388"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:07.988227" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:07.988310" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:07.988433" 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-08-18T20:12:07.978689" elapsed="0.009778"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.992073" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.988681" elapsed="0.003489"/>
</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-08-18T20:12:07.977758" elapsed="0.014539"/>
</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-08-18T20:12:07.971492" elapsed="0.020918"/>
</kw>
<var name="${flowfile}">f222.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.960133" elapsed="0.032360"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:07.993548" level="INFO">f223.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:07.993012" elapsed="0.000634"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:07.999896" 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-08-18T20:12:08.000023" 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-08-18T20:12:07.999762" elapsed="0.000289"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:08.000570" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985910770&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:08.000196" elapsed="0.000402"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.001036" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:08.000758" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.001472" 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-08-18T20:12:08.001209" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.001973" 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-08-18T20:12:08.001642" elapsed="0.000361"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:08.002644" 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-08-18T20:12:08.002149" elapsed="0.000525"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.003154" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:08.002840" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.003646" 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-08-18T20:12:08.003343" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.004171" 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-08-18T20:12:08.003862" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.004660" 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-08-18T20:12:08.004359" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.005169" 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-08-18T20:12:08.004866" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.005679" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985910770&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:08.005361" 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-08-18T20:12:07.999425" elapsed="0.006389"/>
</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-08-18T20:12:08.012925" 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-08-18T20:12:08.012662" elapsed="0.000320"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:08.022698" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:08.022779" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:08.022870" 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-08-18T20:12:08.013104" elapsed="0.009791"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.027287" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:08.023048" elapsed="0.004335"/>
</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-08-18T20:12:08.012273" elapsed="0.015237"/>
</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-08-18T20:12:08.005987" elapsed="0.021634"/>
</kw>
<var name="${flowfile}">f223.xml</var>
<status status="PASS" start="2026-08-18T20:12:07.992706" elapsed="0.035114"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.028931" level="INFO">f224.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:08.028335" 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-08-18T20:12:08.033380" 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-08-18T20:12:08.033512" 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-08-18T20:12:08.033248" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:08.034090" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9cb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:08.033686" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.034536" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:08.034264" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.034992" 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-08-18T20:12:08.034709" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.035427" 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-08-18T20:12:08.035164" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:08.036116" 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-08-18T20:12:08.035596" elapsed="0.000550"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.036607" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:08.036297" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.037113" 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-08-18T20:12:08.036812" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.037612" 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-08-18T20:12:08.037305" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.038141" 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-08-18T20:12:08.037814" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.038641" 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-08-18T20:12:08.038337" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.039152" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9cb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:08.038851" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:08.032919" elapsed="0.006327"/>
</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-08-18T20:12:08.046317" 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-08-18T20:12:08.046069" elapsed="0.000304"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:08.056571" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:08.056665" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:08.056856" 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-08-18T20:12:08.046498" elapsed="0.010418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.062044" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:08.057263" elapsed="0.004886"/>
</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-08-18T20:12:08.045629" elapsed="0.016647"/>
</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-08-18T20:12:08.039390" elapsed="0.022996"/>
</kw>
<var name="${flowfile}">f224.xml</var>
<status status="PASS" start="2026-08-18T20:12:08.028048" elapsed="0.034420"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.063543" level="INFO">f225.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:08.062994" 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-08-18T20:12:08.068735" 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-08-18T20:12:08.068878" 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-08-18T20:12:08.068603" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:08.069419" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c19260&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:08.069053" elapsed="0.000394"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.069878" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:08.069593" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.070345" 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-08-18T20:12:08.070076" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.070798" 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-08-18T20:12:08.070517" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:08.071513" 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-08-18T20:12:08.070976" elapsed="0.000567"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.072026" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:08.071696" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.072516" 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-08-18T20:12:08.072215" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.073029" 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-08-18T20:12:08.072704" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.073593" 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-08-18T20:12:08.073249" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.074174" 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-08-18T20:12:08.073816" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.074683" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c19260&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:08.074375" 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-08-18T20:12:08.068277" elapsed="0.006527"/>
</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-08-18T20:12:08.081920" 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-08-18T20:12:08.081645" elapsed="0.000409"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:08.093720" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:08.093904" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:08.094186" 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-08-18T20:12:08.082186" elapsed="0.012059"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.099022" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:08.094596" elapsed="0.004486"/>
</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-08-18T20:12:08.081247" elapsed="0.017915"/>
</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-08-18T20:12:08.074954" elapsed="0.024279"/>
</kw>
<var name="${flowfile}">f225.xml</var>
<status status="PASS" start="2026-08-18T20:12:08.062681" elapsed="0.036603"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.100013" level="INFO">f550.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:08.099588" elapsed="0.000486"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:08.104858" 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-08-18T20:12:08.105046" 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-08-18T20:12:08.104648" elapsed="0.000441"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:08.105859" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e4d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:08.105296" elapsed="0.000602"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.106512" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:08.106130" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.107144" 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-08-18T20:12:08.106773" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:08.107775" 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-08-18T20:12:08.107381" elapsed="0.000432"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:08.108831" 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-08-18T20:12:08.108014" elapsed="0.000859"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.109524" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:08.109092" elapsed="0.000489"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.110305" 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-08-18T20:12:08.109807" elapsed="0.000555"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.110940" 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-08-18T20:12:08.110569" elapsed="0.000412"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.111421" 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-08-18T20:12:08.111128" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.111983" 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-08-18T20:12:08.111652" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.112488" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e4d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:08.112177" 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-08-18T20:12:08.104192" elapsed="0.008391"/>
</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-08-18T20:12:08.119667" 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-08-18T20:12:08.119422" elapsed="0.000303"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:08.132162" level="INFO">POST Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:08.132251" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:12:08.132372" 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-08-18T20:12:08.119866" elapsed="0.012540"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.135994" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:08.132621" elapsed="0.003470"/>
</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-08-18T20:12:08.119030" elapsed="0.017186"/>
</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-08-18T20:12:08.112728" elapsed="0.023599"/>
</kw>
<var name="${flowfile}">f550.xml</var>
<status status="PASS" start="2026-08-18T20:12:08.099415" elapsed="0.036992"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-08-18T20:12:05.997125" elapsed="2.139352"/>
</for>
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.137735" level="INFO">Length is 57.</msg>
<msg time="2026-08-18T20:12:08.137942" 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-08-18T20:12:08.136859" elapsed="0.001154"/>
</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-08-18T20:12:08.166190" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:08.166639" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/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":52,"packets-matched":"0"},"flow":[{"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":"134","table_id":2,"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":1,"nanosecond":483000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"133","table_id":2,"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":1,"nanosecond":514000000}},"priority":10,"cookie_mask":"255","flow-name":"FooXf10","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"132","table_id":2,"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":1,"nanosecond":552000000}},"priority":9,"cookie_mask":"255","flow-name":"FooXf9","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"131","table_id":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":1,"nanosecond":584000000}},"priority":8,"cookie_mask":"255","flow-name":"FooXf8","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"130","table_id":2,"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":1,"nanosecond":626000000}},"priority":7,"cookie_mask":"255","flow-name":"FooXf7","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"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":"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":"129","table_id":2,"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":1,"nanosecond":667000000}},"priority":6,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"128","table_id":2,"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":1,"nanosecond":705000000}},"priority":5,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"127","installHw":false,"table_id":2,"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":1,"nanosecond":737000000}},"priority":4,"cookie_mask":"255","flow-name":"FooXf4","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"126","installHw":false,"table_id":2,"cookie":"3","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":780000000}},"priority":3,"cookie_mask":"255","flow-name":"FooXf3","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"flags":""},{"id":"324","installHw":false,"table_id":2,"cookie":"201","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-source-port":2059}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-stat... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:08.167135" 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-08-18T20:12:08.144506" elapsed="0.022688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.172143" level="INFO">{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":52,"packets-matched":"0"},"flow":[{"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":"134","table_id":2,"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":1,"nanosecond":483000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"133","table_id":2,"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":1,"nanosecond":514000000}},"priority":10,"cookie_mask":"255","flow-name":"FooXf10","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"132","table_id":2,"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":1,"nanosecond":552000000}},"priority":9,"cookie_mask":"255","flow-name":"FooXf9","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"131","table_id":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":1,"nanosecond":584000000}},"priority":8,"cookie_mask":"255","flow-name":"FooXf8","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"130","table_id":2,"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":1,"nanosecond":626000000}},"priority":7,"cookie_mask":"255","flow-name":"FooXf7","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"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":"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":"129","table_id":2,"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":1,"nanosecond":667000000}},"priority":6,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"128","table_id":2,"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":1,"nanosecond":705000000}},"priority":5,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"127","installHw":false,"table_id":2,"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":1,"nanosecond":737000000}},"priority":4,"cookie_mask":"255","flow-name":"FooXf4","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"126","installHw":false,"table_id":2,"cookie":"3","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":780000000}},"priority":3,"cookie_mask":"255","flow-name":"FooXf3","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"flags":""},{"id":"324","installHw":false,"table_id":2,"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":0,"nanosecond":367000000}},"priority":201,"cookie_mask":"255","flow-name":"set-field-tcp-src","strict":false,"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}},"flags":""},{"id":"125","installHw":false,"table_id":2,"cookie":"2","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":816000000}},"priority":2,"cookie_mask":"255","flow-name":"FooXf2","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.0.0.1/32"},"flags":""},{"id":"124","installHw":false,"table_id":2,"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":1,"nanosecond":859000000}},"priority":1,"cookie_mask":"255","flow-name":"FooXf1","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"flags":""},{"id":"168","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"45","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":857000000}},"priority":45,"cookie_mask":"255","flow-name":"FooXf45","strict":false,"idle-timeout":0,"barrier":false,"match":{"metadata":{"metadata-mask":"4293984255","metadata":"1180719718"}},"out_group":4294967295,"flags":""},{"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":"145","installHw":false,"table_id":2,"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":1,"nanosecond":156000000}},"priority":22,"cookie_mask":"255","flow-name":"FooXf22","strict":false,"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}},"flags":""},{"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":"144","installHw":false,"table_id":2,"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":1,"nanosecond":193000000}},"priority":21,"cookie_mask":"255","flow-name":"FooXf21","strict":false,"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}},"flags":""},{"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":"143","installHw":false,"table_id":2,"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":1,"nanosecond":233000000}},"priority":20,"cookie_mask":"255","flow-name":"FooXf20","strict":false,"idle-timeout":0,"match":{"metadata":{"metadata-mask":"61695","metadata":"12345"}},"flags":""},{"id":"142","installHw":false,"table_id":2,"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":1,"nanosecond":262000000}},"priority":19,"cookie_mask":"255","flow-name":"FooXf19","strict":false,"idle-timeout":0,"match":{"metadata":{"metadata":"12345"}},"flags":""},{"id":"141","installHw":false,"table_id":2,"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":1,"nanosecond":293000000}},"priority":18,"cookie_mask":"255","flow-name":"FooXf18","strict":false,"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"},"flags":""},{"id":"140","table_id":2,"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":1,"nanosecond":330000000}},"priority":17,"cookie_mask":"255","flow-name":"FooXf17","strict":false,"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}},"flags":""},{"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":"139","table_id":2,"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":1,"nanosecond":372000000}},"priority":16,"cookie_mask":"255","flow-name":"FooXf16","strict":false,"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}},"flags":""},{"id":"138","table_id":2,"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":1,"nanosecond":405000000}},"priority":15,"cookie_mask":"255","flow-name":"FooXf15","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"137","table_id":2,"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":1,"nanosecond":434000000}},"priority":14,"cookie_mask":"255","flow-name":"FooXf14","strict":false,"idle-timeout":0,"barrier":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"}},"flags":""},{"id":"233","installHw":false,"table_id":2,"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"vlan-id":1234,"ethernet-type":33024}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":475000000}},"priority":110,"cookie_mask":"255","flow-name":"push-vlan-action","strict":false,"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}},"flags":""},{"id":"232","installHw":false,"table_id":2,"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":0,"nanosecond":524000000}},"priority":109,"cookie_mask":"255","flow-name":"FooXf109","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"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":"154","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"31","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":5000000}},"priority":31,"cookie_mask":"255","flow-name":"FooXf31","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"231","installHw":false,"table_id":2,"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":0,"nanosecond":563000000}},"priority":108,"cookie_mask":"255","flow-name":"FooXf108","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"230","installHw":false,"table_id":2,"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":0,"nanosecond":600000000}},"priority":107,"cookie_mask":"255","flow-name":"FooXf107","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"229","installHw":false,"table_id":2,"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":0,"nanosecond":636000000}},"priority":106,"cookie_mask":"255","flow-name":"FooXf106","strict":false,"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::/100","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"flags":""},{"id":"228","installHw":false,"table_id":2,"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":0,"nanosecond":673000000}},"priority":105,"cookie_mask":"255","flow-name":"FooXf105","strict":false,"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}},"flags":""},{"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":"227","installHw":false,"table_id":2,"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":0,"nanosecond":709000000}},"priority":104,"cookie_mask":"255","flow-name":"FooXf104","strict":false,"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}},"flags":""},{"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":"226","installHw":false,"table_id":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":0,"nanosecond":746000000}},"priority":103,"cookie_mask":"255","flow-name":"FooXf103","strict":false,"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}},"flags":""},{"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":"148","installHw":false,"table_id":2,"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":1,"nanosecond":43000000}},"priority":25,"cookie_mask":"255","flow-name":"FooXf25","strict":false,"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}},"flags":""},{"id":"225","installHw":false,"table_id":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":0,"nanosecond":783000000}},"priority":102,"cookie_mask":"255","flow-name":"FooXf102","strict":false,"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}},"flags":""},{"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":"147","installHw":false,"table_id":2,"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":1,"nanosecond":81000000}},"priority":24,"cookie_mask":"255","flow-name":"FooXf24","strict":false,"idle-timeout":0,"match":{"tunnel":{"tunnel-id":"2591"}},"flags":""},{"id":"224","installHw":false,"table_id":2,"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":0,"nanosecond":820000000}},"priority":101,"cookie_mask":"255","flow-name":"FooXf101","strict":false,"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}},"flags":""},{"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":"146","installHw":false,"table_id":2,"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":1,"nanosecond":116000000}},"priority":23,"cookie_mask":"255","flow-name":"FooXf23","strict":false,"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}},"flags":""},{"id":"#UF$TABLE*2-8","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":0,"nanosecond":34000000}},"flags":""},{"id":"#UF$TABLE*2-9","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":0,"nanosecond":68000000}},"flags":""},{"id":"166","installHw":false,"table_id":2,"out_port":"4294967295","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":0,"nanosecond":896000000}},"priority":43,"cookie_mask":"255","flow-name":"FooXf43","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"icmpv6-match":{"icmpv6-code":1,"icmpv6-type":135},"ip-match":{"ip-protocol":58}},"out_group":4294967295,"flags":""},{"id":"161","installHw":false,"table_id":2,"out_port":"4294967295","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":0,"nanosecond":930000000}},"priority":38,"cookie_mask":"255","flow-name":"FooXf38","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"#UF$TABLE*2-16","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":0,"nanosecond":261000000}},"flags":""},{"id":"#UF$TABLE*2-15","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":0,"nanosecond":294000000}},"flags":""},{"id":"159","installHw":false,"table_id":2,"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":0,"nanosecond":954000000}},"priority":36,"cookie_mask":"255","flow-name":"FooXf36","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"flags":""},{"id":"236","installHw":false,"table_id":2,"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":0,"nanosecond":441000000}},"priority":113,"cookie_mask":"255","flow-name":"push-mpls-action","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"279","table_id":2,"cookie":"156","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":0,"nanosecond":407000000}},"priority":156,"cookie_mask":"255","flow-name":"FooXf156","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"#UF$TABLE*2-12","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":223000000}},"flags":""},{"id":"#UF$TABLE*2-11","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":0,"nanosecond":148000000}},"flags":""},{"id":"#UF$TABLE*2-14","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":0,"nanosecond":331000000}},"flags":""},{"id":"#UF$TABLE*2-13","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":178000000}},"flags":""},{"id":"#UF$TABLE*2-10","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":0,"nanosecond":112000000}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:08.167560" elapsed="0.005477"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-08-18T20:12:08.176597" level="INFO">Item found from container 66 times.</msg>
<msg time="2026-08-18T20:12:08.176979" level="FAIL">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":52,"packets-matched":"0"},"flow":[{"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":"134","table_id":2,"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":1,"nanosecond":483000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"133","table_id":2,"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":1,"nanosecond":514000000}},"priority":10,"cookie_mask":"255","flow-name":"FooXf10","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"132","table_id":2,"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":1,"nanosecond":552000000}},"priority":9,"cookie_mask":"255","flow-name":"FooXf9","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"131","table_id":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":1,"nanosecond":584000000}},"priority":8,"cookie_mask":"255","flow-name":"FooXf8","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"130","table_id":2,"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":1,"nanosecond":626000000}},"priority":7,"cookie_mask":"255","flow-name":"FooXf7","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"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":"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":"129","table_id":2,"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":1,"nanosecond":667000000}},"priority":6,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"128","table_id":2,"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":1,"nanosecond":705000000}},"priority":5,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"127","installHw":false,"table_id":2,"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":1,"nanosecond":737000000}},"priority":4,"cookie_mask":"255","flow-name":"FooXf4","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"126","installHw":false,"table_id":2,"cookie":"3","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":780000000}},"priority":3,"cookie_mask":"255","flow-name":"FooXf3","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"flags":""},{"id":"324","installHw":false,"table_id":2,"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":0,"nanosecond":367000000}},"priority":201,"cookie_mask":"255","flow-name":"set-field-tcp-src","strict":false,"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}},"flags":""},{"id":"125","installHw":false,"table_id":2,"cookie":"2","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":816000000}},"priority":2,"cookie_mask":"255","flow-name":"FooXf2","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.0.0.1/32"},"flags":""},{"id":"124","installHw":false,"table_id":2,"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":1,"nanosecond":859000000}},"priority":1,"cookie_mask":"255","flow-name":"FooXf1","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"flags":""},{"id":"168","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"45","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":857000000}},"priority":45,"cookie_mask":"255","flow-name":"FooXf45","strict":false,"idle-timeout":0,"barrier":false,"match":{"metadata":{"metadata-mask":"4293984255","metadata":"1180719718"}},"out_group":4294967295,"flags":""},{"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":"145","installHw":false,"table_id":2,"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":1,"nanosecond":156000000}},"priority":22,"cookie_mask":"255","flow-name":"FooXf22","strict":false,"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}},"flags":""},{"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":"144","installHw":false,"table_id":2,"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":1,"nanosecond":193000000}},"priority":21,"cookie_mask":"255","flow-name":"FooXf21","strict":false,"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}},"flags":""},{"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":"143","installHw":false,"table_id":2,"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":1,"nanosecond":233000000}},"priority":20,"cookie_mask":"255","flow-name":"FooXf20","strict":false,"idle-timeout":0,"match":{"metadata":{"metadata-mask":"61695","metadata":"12345"}},"flags":""},{"id":"142","installHw":false,"table_id":2,"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":1,"nanosecond":262000000}},"priority":19,"cookie_mask":"255","flow-name":"FooXf19","strict":false,"idle-timeout":0,"match":{"metadata":{"metadata":"12345"}},"flags":""},{"id":"141","installHw":false,"table_id":2,"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":1,"nanosecond":293000000}},"priority":18,"cookie_mask":"255","flow-name":"FooXf18","strict":false,"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"},"flags":""},{"id":"140","table_id":2,"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":1,"nanosecond":330000000}},"priority":17,"cookie_mask":"255","flow-name":"FooXf17","strict":false,"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}},"flags":""},{"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":"139","table_id":2,"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":1,"nanosecond":372000000}},"priority":16,"cookie_mask":"255","flow-name":"FooXf16","strict":false,"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}},"flags":""},{"id":"138","table_id":2,"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":1,"nanosecond":405000000}},"priority":15,"cookie_mask":"255","flow-name":"FooXf15","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"137","table_id":2,"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":1,"nanosecond":434000000}},"priority":14,"cookie_mask":"255","flow-name":"FooXf14","strict":false,"idle-timeout":0,"barrier":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"}},"flags":""},{"id":"233","installHw":false,"table_id":2,"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"vlan-id":1234,"ethernet-type":33024}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":475000000}},"priority":110,"cookie_mask":"255","flow-name":"push-vlan-action","strict":false,"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}},"flags":""},{"id":"232","installHw":false,"table_id":2,"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":0,"nanosecond":524000000}},"priority":109,"cookie_mask":"255","flow-name":"FooXf109","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"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":"154","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"31","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":5000000}},"priority":31,"cookie_mask":"255","flow-name":"FooXf31","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"231","installHw":false,"table_id":2,"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":0,"nanosecond":563000000}},"priority":108,"cookie_mask":"255","flow-name":"FooXf108","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"230","installHw":false,"table_id":2,"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":0,"nanosecond":600000000}},"priority":107,"cookie_mask":"255","flow-name":"FooXf107","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"229","installHw":false,"table_id":2,"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":0,"nanosecond":636000000}},"priority":106,"cookie_mask":"255","flow-name":"FooXf106","strict":false,"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::/100","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"flags":""},{"id":"228","installHw":false,"table_id":2,"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":0,"nanosecond":673000000}},"priority":105,"cookie_mask":"255","flow-name":"FooXf105","strict":false,"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}},"flags":""},{"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":"227","installHw":false,"table_id":2,"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":0,"nanosecond":709000000}},"priority":104,"cookie_mask":"255","flow-name":"FooXf104","strict":false,"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}},"flags":""},{"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":"226","installHw":false,"table_id":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":0,"nanosecond":746000000}},"priority":103,"cookie_mask":"255","flow-name":"FooXf103","strict":false,"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}},"flags":""},{"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":"148","installHw":false,"table_id":2,"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":1,"nanosecond":43000000}},"priority":25,"cookie_mask":"255","flow-name":"FooXf25","strict":false,"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}},"flags":""},{"id":"225","installHw":false,"table_id":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":0,"nanosecond":783000000}},"priority":102,"cookie_mask":"255","flow-name":"FooXf102","strict":false,"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}},"flags":""},{"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":"147","installHw":false,"table_id":2,"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":1,"nanosecond":81000000}},"priority":24,"cookie_mask":"255","flow-name":"FooXf24","strict":false,"idle-timeout":0,"match":{"tunnel":{"tunnel-id":"2591"}},"flags":""},{"id":"224","installHw":false,"table_id":2,"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":0,"nanosecond":820000000}},"priority":101,"cookie_mask":"255","flow-name":"FooXf101","strict":false,"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}},"flags":""},{"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":"146","installHw":false,"table_id":2,"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":1,"nanosecond":116000000}},"priority":23,"cookie_mask":"255","flow-name":"FooXf23","strict":false,"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}},"flags":""},{"id":"#UF$TABLE*2-8","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":0,"nanosecond":34000000}},"flags":""},{"id":"#UF$TABLE*2-9","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":0,"nanosecond":68000000}},"flags":""},{"id":"166","installHw":false,"table_id":2,"out_port":"4294967295","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":0,"nanosecond":896000000}},"priority":43,"cookie_mask":"255","flow-name":"FooXf43","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"icmpv6-match":{"icmpv6-code":1,"icmpv6-type":135},"ip-match":{"ip-protocol":58}},"out_group":4294967295,"flags":""},{"id":"161","installHw":false,"table_id":2,"out_port":"4294967295","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":0,"nanosecond":930000000}},"priority":38,"cookie_mask":"255","flow-name":"FooXf38","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"#UF$TABLE*2-16","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":0,"nanosecond":261000000}},"flags":""},{"id":"#UF$TABLE*2-15","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":0,"nanosecond":294000000}},"flags":""},{"id":"159","installHw":false,"table_id":2,"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":0,"nanosecond":954000000}},"priority":36,"cookie_mask":"255","flow-name":"FooXf36","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"flags":""},{"id":"236","installHw":false,"table_id":2,"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":0,"nanosecond":441000000}},"priority":113,"cookie_mask":"255","flow-name":"push-mpls-action","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"279","table_id":2,"cookie":"156","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":0,"nanosecond":407000000}},"priority":156,"cookie_mask":"255","flow-name":"FooXf156","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"#UF$TABLE*2-12","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":223000000}},"flags":""},{"id":"#UF$TABLE*2-11","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":0,"nanosecond":148000000}},"flags":""},{"id":"#UF$TABLE*2-14","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":0,"nanosecond":331000000}},"flags":""},{"id":"#UF$TABLE*2-13","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":178000000}},"flags":""},{"id":"#UF$TABLE*2-10","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":0,"nanosecond":112000000}},"flags":""}]}]}' contains 'priority' 66 times, not 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="FAIL" start="2026-08-18T20:12:08.173368" elapsed="0.004074">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":52,"packets-matched":"0"},"flow":[{"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":"134","table_id":2,"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":1,"nanosecond":483000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"133","table_id":2,"cookie":"10","instructions":{"instruction":[{"orde...
    [ Message content over the limit has been removed. ]
...:0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":331000000}},"flags":""},{"id":"#UF$TABLE*2-13","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":178000000}},"flags":""},{"id":"#UF$TABLE*2-10","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":0,"nanosecond":112000000}},"flags":""}]}]}' contains 'priority' 66 times, not 57 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-08-18T20:12:08.144191" elapsed="0.033411">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":52,"packets-matched":"0"},"flow":[{"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":"134","table_id":2,"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":1,"nanosecond":483000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"133","table_id":2,"cookie":"10","instructions":{"instruction":[{"orde...
    [ Message content over the limit has been removed. ]
...:0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":331000000}},"flags":""},{"id":"#UF$TABLE*2-13","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":178000000}},"flags":""},{"id":"#UF$TABLE*2-10","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":0,"nanosecond":112000000}},"flags":""}]}]}' contains 'priority' 66 times, not 57 times.</status>
</kw>
<kw name="Check Flow Stats Are Available" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:10.208374" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:10.208897" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/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":52,"packets-matched":"0"},"flow":[{"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":"134","table_id":2,"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":1,"nanosecond":483000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"133","table_id":2,"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":1,"nanosecond":514000000}},"priority":10,"cookie_mask":"255","flow-name":"FooXf10","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"132","table_id":2,"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":1,"nanosecond":552000000}},"priority":9,"cookie_mask":"255","flow-name":"FooXf9","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"131","table_id":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":1,"nanosecond":584000000}},"priority":8,"cookie_mask":"255","flow-name":"FooXf8","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"130","table_id":2,"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":1,"nanosecond":626000000}},"priority":7,"cookie_mask":"255","flow-name":"FooXf7","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"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":"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":"129","table_id":2,"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":1,"nanosecond":667000000}},"priority":6,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"128","table_id":2,"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":1,"nanosecond":705000000}},"priority":5,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"127","installHw":false,"table_id":2,"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":1,"nanosecond":737000000}},"priority":4,"cookie_mask":"255","flow-name":"FooXf4","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"126","installHw":false,"table_id":2,"cookie":"3","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":780000000}},"priority":3,"cookie_mask":"255","flow-name":"FooXf3","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"flags":""},{"id":"324","installHw":false,"table_id":2,"cookie":"201","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"set-field":{"tcp-source-port":2059}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-stat... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:10.209394" 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-08-18T20:12:10.185889" elapsed="0.023565"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:10.214568" level="INFO">{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":52,"packets-matched":"0"},"flow":[{"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":"134","table_id":2,"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":1,"nanosecond":483000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"133","table_id":2,"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":1,"nanosecond":514000000}},"priority":10,"cookie_mask":"255","flow-name":"FooXf10","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"132","table_id":2,"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":1,"nanosecond":552000000}},"priority":9,"cookie_mask":"255","flow-name":"FooXf9","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"131","table_id":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":1,"nanosecond":584000000}},"priority":8,"cookie_mask":"255","flow-name":"FooXf8","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"130","table_id":2,"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":1,"nanosecond":626000000}},"priority":7,"cookie_mask":"255","flow-name":"FooXf7","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"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":"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":"129","table_id":2,"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":1,"nanosecond":667000000}},"priority":6,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"128","table_id":2,"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":1,"nanosecond":705000000}},"priority":5,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"127","installHw":false,"table_id":2,"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":1,"nanosecond":737000000}},"priority":4,"cookie_mask":"255","flow-name":"FooXf4","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"126","installHw":false,"table_id":2,"cookie":"3","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":780000000}},"priority":3,"cookie_mask":"255","flow-name":"FooXf3","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"flags":""},{"id":"324","installHw":false,"table_id":2,"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":0,"nanosecond":367000000}},"priority":201,"cookie_mask":"255","flow-name":"set-field-tcp-src","strict":false,"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}},"flags":""},{"id":"125","installHw":false,"table_id":2,"cookie":"2","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":816000000}},"priority":2,"cookie_mask":"255","flow-name":"FooXf2","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.0.0.1/32"},"flags":""},{"id":"124","installHw":false,"table_id":2,"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":1,"nanosecond":859000000}},"priority":1,"cookie_mask":"255","flow-name":"FooXf1","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"flags":""},{"id":"168","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"45","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":857000000}},"priority":45,"cookie_mask":"255","flow-name":"FooXf45","strict":false,"idle-timeout":0,"barrier":false,"match":{"metadata":{"metadata-mask":"4293984255","metadata":"1180719718"}},"out_group":4294967295,"flags":""},{"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":"145","installHw":false,"table_id":2,"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":1,"nanosecond":156000000}},"priority":22,"cookie_mask":"255","flow-name":"FooXf22","strict":false,"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}},"flags":""},{"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":"144","installHw":false,"table_id":2,"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":1,"nanosecond":193000000}},"priority":21,"cookie_mask":"255","flow-name":"FooXf21","strict":false,"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}},"flags":""},{"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":"143","installHw":false,"table_id":2,"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":1,"nanosecond":233000000}},"priority":20,"cookie_mask":"255","flow-name":"FooXf20","strict":false,"idle-timeout":0,"match":{"metadata":{"metadata-mask":"61695","metadata":"12345"}},"flags":""},{"id":"142","installHw":false,"table_id":2,"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":1,"nanosecond":262000000}},"priority":19,"cookie_mask":"255","flow-name":"FooXf19","strict":false,"idle-timeout":0,"match":{"metadata":{"metadata":"12345"}},"flags":""},{"id":"141","installHw":false,"table_id":2,"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":1,"nanosecond":293000000}},"priority":18,"cookie_mask":"255","flow-name":"FooXf18","strict":false,"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"},"flags":""},{"id":"140","table_id":2,"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":1,"nanosecond":330000000}},"priority":17,"cookie_mask":"255","flow-name":"FooXf17","strict":false,"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}},"flags":""},{"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":"139","table_id":2,"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":1,"nanosecond":372000000}},"priority":16,"cookie_mask":"255","flow-name":"FooXf16","strict":false,"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}},"flags":""},{"id":"138","table_id":2,"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":1,"nanosecond":405000000}},"priority":15,"cookie_mask":"255","flow-name":"FooXf15","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"137","table_id":2,"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":1,"nanosecond":434000000}},"priority":14,"cookie_mask":"255","flow-name":"FooXf14","strict":false,"idle-timeout":0,"barrier":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"}},"flags":""},{"id":"233","installHw":false,"table_id":2,"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"vlan-id":1234,"ethernet-type":33024}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":475000000}},"priority":110,"cookie_mask":"255","flow-name":"push-vlan-action","strict":false,"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}},"flags":""},{"id":"232","installHw":false,"table_id":2,"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":0,"nanosecond":524000000}},"priority":109,"cookie_mask":"255","flow-name":"FooXf109","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"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":"154","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"31","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":5000000}},"priority":31,"cookie_mask":"255","flow-name":"FooXf31","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"231","installHw":false,"table_id":2,"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":0,"nanosecond":563000000}},"priority":108,"cookie_mask":"255","flow-name":"FooXf108","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"230","installHw":false,"table_id":2,"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":0,"nanosecond":600000000}},"priority":107,"cookie_mask":"255","flow-name":"FooXf107","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"229","installHw":false,"table_id":2,"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":0,"nanosecond":636000000}},"priority":106,"cookie_mask":"255","flow-name":"FooXf106","strict":false,"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::/100","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"flags":""},{"id":"228","installHw":false,"table_id":2,"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":0,"nanosecond":673000000}},"priority":105,"cookie_mask":"255","flow-name":"FooXf105","strict":false,"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}},"flags":""},{"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":"227","installHw":false,"table_id":2,"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":0,"nanosecond":709000000}},"priority":104,"cookie_mask":"255","flow-name":"FooXf104","strict":false,"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}},"flags":""},{"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":"226","installHw":false,"table_id":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":0,"nanosecond":746000000}},"priority":103,"cookie_mask":"255","flow-name":"FooXf103","strict":false,"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}},"flags":""},{"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":"148","installHw":false,"table_id":2,"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":1,"nanosecond":43000000}},"priority":25,"cookie_mask":"255","flow-name":"FooXf25","strict":false,"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}},"flags":""},{"id":"225","installHw":false,"table_id":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":0,"nanosecond":783000000}},"priority":102,"cookie_mask":"255","flow-name":"FooXf102","strict":false,"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}},"flags":""},{"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":"147","installHw":false,"table_id":2,"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":1,"nanosecond":81000000}},"priority":24,"cookie_mask":"255","flow-name":"FooXf24","strict":false,"idle-timeout":0,"match":{"tunnel":{"tunnel-id":"2591"}},"flags":""},{"id":"224","installHw":false,"table_id":2,"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":0,"nanosecond":820000000}},"priority":101,"cookie_mask":"255","flow-name":"FooXf101","strict":false,"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}},"flags":""},{"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":"146","installHw":false,"table_id":2,"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":1,"nanosecond":116000000}},"priority":23,"cookie_mask":"255","flow-name":"FooXf23","strict":false,"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}},"flags":""},{"id":"#UF$TABLE*2-8","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":0,"nanosecond":34000000}},"flags":""},{"id":"#UF$TABLE*2-9","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":0,"nanosecond":68000000}},"flags":""},{"id":"166","installHw":false,"table_id":2,"out_port":"4294967295","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":0,"nanosecond":896000000}},"priority":43,"cookie_mask":"255","flow-name":"FooXf43","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"icmpv6-match":{"icmpv6-code":1,"icmpv6-type":135},"ip-match":{"ip-protocol":58}},"out_group":4294967295,"flags":""},{"id":"161","installHw":false,"table_id":2,"out_port":"4294967295","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":0,"nanosecond":930000000}},"priority":38,"cookie_mask":"255","flow-name":"FooXf38","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"#UF$TABLE*2-16","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":0,"nanosecond":261000000}},"flags":""},{"id":"#UF$TABLE*2-15","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":0,"nanosecond":294000000}},"flags":""},{"id":"159","installHw":false,"table_id":2,"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":0,"nanosecond":954000000}},"priority":36,"cookie_mask":"255","flow-name":"FooXf36","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"flags":""},{"id":"236","installHw":false,"table_id":2,"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":0,"nanosecond":441000000}},"priority":113,"cookie_mask":"255","flow-name":"push-mpls-action","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"279","table_id":2,"cookie":"156","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":0,"nanosecond":407000000}},"priority":156,"cookie_mask":"255","flow-name":"FooXf156","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"#UF$TABLE*2-12","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":223000000}},"flags":""},{"id":"#UF$TABLE*2-11","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":0,"nanosecond":148000000}},"flags":""},{"id":"#UF$TABLE*2-14","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":0,"nanosecond":331000000}},"flags":""},{"id":"#UF$TABLE*2-13","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":178000000}},"flags":""},{"id":"#UF$TABLE*2-10","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":0,"nanosecond":112000000}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:10.209878" elapsed="0.006029"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-08-18T20:12:10.222149" level="INFO">Item found from container 66 times.</msg>
<msg time="2026-08-18T20:12:10.223024" level="FAIL">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":52,"packets-matched":"0"},"flow":[{"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":"134","table_id":2,"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":1,"nanosecond":483000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"133","table_id":2,"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":1,"nanosecond":514000000}},"priority":10,"cookie_mask":"255","flow-name":"FooXf10","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"132","table_id":2,"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":1,"nanosecond":552000000}},"priority":9,"cookie_mask":"255","flow-name":"FooXf9","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"131","table_id":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":1,"nanosecond":584000000}},"priority":8,"cookie_mask":"255","flow-name":"FooXf8","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"130","table_id":2,"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":1,"nanosecond":626000000}},"priority":7,"cookie_mask":"255","flow-name":"FooXf7","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"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":"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":"129","table_id":2,"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":1,"nanosecond":667000000}},"priority":6,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"128","table_id":2,"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":1,"nanosecond":705000000}},"priority":5,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"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":"127","installHw":false,"table_id":2,"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":1,"nanosecond":737000000}},"priority":4,"cookie_mask":"255","flow-name":"FooXf4","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"126","installHw":false,"table_id":2,"cookie":"3","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":780000000}},"priority":3,"cookie_mask":"255","flow-name":"FooXf3","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"flags":""},{"id":"324","installHw":false,"table_id":2,"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":0,"nanosecond":367000000}},"priority":201,"cookie_mask":"255","flow-name":"set-field-tcp-src","strict":false,"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}},"flags":""},{"id":"125","installHw":false,"table_id":2,"cookie":"2","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":816000000}},"priority":2,"cookie_mask":"255","flow-name":"FooXf2","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.0.0.1/32"},"flags":""},{"id":"124","installHw":false,"table_id":2,"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":1,"nanosecond":859000000}},"priority":1,"cookie_mask":"255","flow-name":"FooXf1","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"flags":""},{"id":"168","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"45","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":857000000}},"priority":45,"cookie_mask":"255","flow-name":"FooXf45","strict":false,"idle-timeout":0,"barrier":false,"match":{"metadata":{"metadata-mask":"4293984255","metadata":"1180719718"}},"out_group":4294967295,"flags":""},{"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":"145","installHw":false,"table_id":2,"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":1,"nanosecond":156000000}},"priority":22,"cookie_mask":"255","flow-name":"FooXf22","strict":false,"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}},"flags":""},{"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":"144","installHw":false,"table_id":2,"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":1,"nanosecond":193000000}},"priority":21,"cookie_mask":"255","flow-name":"FooXf21","strict":false,"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}},"flags":""},{"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":"143","installHw":false,"table_id":2,"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":1,"nanosecond":233000000}},"priority":20,"cookie_mask":"255","flow-name":"FooXf20","strict":false,"idle-timeout":0,"match":{"metadata":{"metadata-mask":"61695","metadata":"12345"}},"flags":""},{"id":"142","installHw":false,"table_id":2,"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":1,"nanosecond":262000000}},"priority":19,"cookie_mask":"255","flow-name":"FooXf19","strict":false,"idle-timeout":0,"match":{"metadata":{"metadata":"12345"}},"flags":""},{"id":"141","installHw":false,"table_id":2,"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":1,"nanosecond":293000000}},"priority":18,"cookie_mask":"255","flow-name":"FooXf18","strict":false,"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"},"flags":""},{"id":"140","table_id":2,"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":1,"nanosecond":330000000}},"priority":17,"cookie_mask":"255","flow-name":"FooXf17","strict":false,"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}},"flags":""},{"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":"139","table_id":2,"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":1,"nanosecond":372000000}},"priority":16,"cookie_mask":"255","flow-name":"FooXf16","strict":false,"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}},"flags":""},{"id":"138","table_id":2,"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":1,"nanosecond":405000000}},"priority":15,"cookie_mask":"255","flow-name":"FooXf15","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"137","table_id":2,"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":1,"nanosecond":434000000}},"priority":14,"cookie_mask":"255","flow-name":"FooXf14","strict":false,"idle-timeout":0,"barrier":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"}},"flags":""},{"id":"233","installHw":false,"table_id":2,"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"vlan-id":1234,"ethernet-type":33024}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":475000000}},"priority":110,"cookie_mask":"255","flow-name":"push-vlan-action","strict":false,"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}},"flags":""},{"id":"232","installHw":false,"table_id":2,"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":0,"nanosecond":524000000}},"priority":109,"cookie_mask":"255","flow-name":"FooXf109","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"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":"154","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"31","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":1,"nanosecond":5000000}},"priority":31,"cookie_mask":"255","flow-name":"FooXf31","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"231","installHw":false,"table_id":2,"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":0,"nanosecond":563000000}},"priority":108,"cookie_mask":"255","flow-name":"FooXf108","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"230","installHw":false,"table_id":2,"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":0,"nanosecond":600000000}},"priority":107,"cookie_mask":"255","flow-name":"FooXf107","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"229","installHw":false,"table_id":2,"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":0,"nanosecond":636000000}},"priority":106,"cookie_mask":"255","flow-name":"FooXf106","strict":false,"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::/100","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"flags":""},{"id":"228","installHw":false,"table_id":2,"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":0,"nanosecond":673000000}},"priority":105,"cookie_mask":"255","flow-name":"FooXf105","strict":false,"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}},"flags":""},{"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":"227","installHw":false,"table_id":2,"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":0,"nanosecond":709000000}},"priority":104,"cookie_mask":"255","flow-name":"FooXf104","strict":false,"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}},"flags":""},{"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":"226","installHw":false,"table_id":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":0,"nanosecond":746000000}},"priority":103,"cookie_mask":"255","flow-name":"FooXf103","strict":false,"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}},"flags":""},{"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":"148","installHw":false,"table_id":2,"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":1,"nanosecond":43000000}},"priority":25,"cookie_mask":"255","flow-name":"FooXf25","strict":false,"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}},"flags":""},{"id":"225","installHw":false,"table_id":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":0,"nanosecond":783000000}},"priority":102,"cookie_mask":"255","flow-name":"FooXf102","strict":false,"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}},"flags":""},{"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":"147","installHw":false,"table_id":2,"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":1,"nanosecond":81000000}},"priority":24,"cookie_mask":"255","flow-name":"FooXf24","strict":false,"idle-timeout":0,"match":{"tunnel":{"tunnel-id":"2591"}},"flags":""},{"id":"224","installHw":false,"table_id":2,"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":0,"nanosecond":820000000}},"priority":101,"cookie_mask":"255","flow-name":"FooXf101","strict":false,"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}},"flags":""},{"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":"146","installHw":false,"table_id":2,"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":1,"nanosecond":116000000}},"priority":23,"cookie_mask":"255","flow-name":"FooXf23","strict":false,"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}},"flags":""},{"id":"#UF$TABLE*2-8","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":0,"nanosecond":34000000}},"flags":""},{"id":"#UF$TABLE*2-9","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":0,"nanosecond":68000000}},"flags":""},{"id":"166","installHw":false,"table_id":2,"out_port":"4294967295","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":0,"nanosecond":896000000}},"priority":43,"cookie_mask":"255","flow-name":"FooXf43","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"icmpv6-match":{"icmpv6-code":1,"icmpv6-type":135},"ip-match":{"ip-protocol":58}},"out_group":4294967295,"flags":""},{"id":"161","installHw":false,"table_id":2,"out_port":"4294967295","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":0,"nanosecond":930000000}},"priority":38,"cookie_mask":"255","flow-name":"FooXf38","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"#UF$TABLE*2-16","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":0,"nanosecond":261000000}},"flags":""},{"id":"#UF$TABLE*2-15","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":0,"nanosecond":294000000}},"flags":""},{"id":"159","installHw":false,"table_id":2,"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":0,"nanosecond":954000000}},"priority":36,"cookie_mask":"255","flow-name":"FooXf36","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"flags":""},{"id":"236","installHw":false,"table_id":2,"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":0,"nanosecond":441000000}},"priority":113,"cookie_mask":"255","flow-name":"push-mpls-action","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"279","table_id":2,"cookie":"156","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":0,"nanosecond":407000000}},"priority":156,"cookie_mask":"255","flow-name":"FooXf156","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"#UF$TABLE*2-12","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":223000000}},"flags":""},{"id":"#UF$TABLE*2-11","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":0,"nanosecond":148000000}},"flags":""},{"id":"#UF$TABLE*2-14","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":0,"nanosecond":331000000}},"flags":""},{"id":"#UF$TABLE*2-13","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":178000000}},"flags":""},{"id":"#UF$TABLE*2-10","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":0,"nanosecond":112000000}},"flags":""}]}]}' contains 'priority' 66 times, not 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="FAIL" start="2026-08-18T20:12:10.216443" elapsed="0.007783">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":52,"packets-matched":"0"},"flow":[{"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":"134","table_id":2,"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":1,"nanosecond":483000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"133","table_id":2,"cookie":"10","instructions":{"instruction":[{"orde...
    [ Message content over the limit has been removed. ]
...:0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":331000000}},"flags":""},{"id":"#UF$TABLE*2-13","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":178000000}},"flags":""},{"id":"#UF$TABLE*2-10","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":0,"nanosecond":112000000}},"flags":""}]}]}' contains 'priority' 66 times, not 57 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-08-18T20:12:10.185052" elapsed="0.039540">'{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":52,"packets-matched":"0"},"flow":[{"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":"134","table_id":2,"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":1,"nanosecond":483000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"133","table_id":2,"cookie":"10","instructions":{"instruction":[{"orde...
    [ Message content over the limit has been removed. ]
...:0,"set-field":{"tcp-destination-port":1234}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":0,"nanosecond":331000000}},"flags":""},{"id":"#UF$TABLE*2-13","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":178000000}},"flags":""},{"id":"#UF$TABLE*2-10","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":0,"nanosecond":112000000}},"flags":""}]}]}' contains 'priority' 66 times, not 57 times.</status>
</kw>
<kw name="Check Flow Stats Are Available" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:12.253842" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:12.254342" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/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":57,"packets-matched":"0"},"flow":[{"id":"134","table_id":2,"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":4,"nanosecond":560000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"332","installHw":false,"table_id":2,"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":3,"nanosecond":225000000}},"priority":209,"cookie_mask":"255","flow-name":"set-field-tunnel-id","strict":false,"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}},"flags":""},{"id":"133","table_id":2,"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":4,"nanosecond":591000000}},"priority":10,"cookie_mask":"255","flow-name":"FooXf10","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"132","table_id":2,"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":4,"nanosecond":629000000}},"priority":9,"cookie_mask":"255","flow-name":"FooXf9","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"131","table_id":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":4,"nanosecond":661000000}},"priority":8,"cookie_mask":"255","flow-name":"FooXf8","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"130","table_id":2,"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":4,"nanosecond":703000000}},"priority":7,"cookie_mask":"255","flow-name":"FooXf7","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"329","table_id":2,"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":255000000}},"priority":206,"cookie_mask":"255","flow-name":"sctp-destination-port","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"328","table_id":2,"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":300000000}},"priority":205,"cookie_mask":"255","flow-name":"sctp-source-port-action","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"129","table_id":2,"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":4,"nanosecond":744000000}},"priority":6,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"id":"327","installHw":false,"table_id":2,"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":3,"nanosecond":338000000}},"priority":204,"cookie_mask":"255","flow-name":"set-field-udp-dst","strict":false,"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}},"flags":""},{"id":"128","table_id":2,"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":4,"nanosecond":782000000}},"priority":5,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"id":"326","installHw":false,"table_id":2,"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":3,"nanosecond":371000000}},"priority":203,"cookie_mask":"255","flow-name":"set-field-udp-src","strict":false,"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}},"flags":""},{"id":"127","installHw":false,"table_id":2,"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":4,"nanosecond":814000000}},"priority":4,"cookie_mask":"255","flow-name":"FooXf4","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"325","installHw":false,"table_id":2,"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":3,"nanosecond":408000000}},"priority":202,"cookie_mask":"255","flow-name":"set-field-tcp-dst"... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:12.254898" 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-08-18T20:12:12.233793" elapsed="0.021166"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.260028" level="INFO">{"flow-node-inventory:table":[{"id":2,"opendaylight-flow-table-statistics:flow-table-statistics":{"packets-looked-up":"0","active-flows":57,"packets-matched":"0"},"flow":[{"id":"134","table_id":2,"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":4,"nanosecond":560000000}},"priority":11,"cookie_mask":"255","flow-name":"FooXf11","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":1,"ip-ecn":3,"ip-dscp":27},"icmpv4-match":{"icmpv4-type":6,"icmpv4-code":3}},"flags":""},{"id":"332","installHw":false,"table_id":2,"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":3,"nanosecond":225000000}},"priority":209,"cookie_mask":"255","flow-name":"set-field-tunnel-id","strict":false,"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}},"flags":""},{"id":"133","table_id":2,"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":4,"nanosecond":591000000}},"priority":10,"cookie_mask":"255","flow-name":"FooXf10","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"132","table_id":2,"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":4,"nanosecond":629000000}},"priority":9,"cookie_mask":"255","flow-name":"FooXf9","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"131","table_id":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":4,"nanosecond":661000000}},"priority":8,"cookie_mask":"255","flow-name":"FooXf8","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"130","table_id":2,"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":4,"nanosecond":703000000}},"priority":7,"cookie_mask":"255","flow-name":"FooXf7","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"329","table_id":2,"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":255000000}},"priority":206,"cookie_mask":"255","flow-name":"sctp-destination-port","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"328","table_id":2,"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":300000000}},"priority":205,"cookie_mask":"255","flow-name":"sctp-source-port-action","strict":false,"idle-timeout":0,"barrier":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}},"flags":""},{"id":"129","table_id":2,"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":4,"nanosecond":744000000}},"priority":6,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"id":"327","installHw":false,"table_id":2,"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":3,"nanosecond":338000000}},"priority":204,"cookie_mask":"255","flow-name":"set-field-udp-dst","strict":false,"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}},"flags":""},{"id":"128","table_id":2,"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":4,"nanosecond":782000000}},"priority":5,"cookie_mask":"255","flow-name":"FooXf5","strict":false,"idle-timeout":0,"barrier":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"},"flags":""},{"id":"326","installHw":false,"table_id":2,"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":3,"nanosecond":371000000}},"priority":203,"cookie_mask":"255","flow-name":"set-field-udp-src","strict":false,"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}},"flags":""},{"id":"127","installHw":false,"table_id":2,"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":4,"nanosecond":814000000}},"priority":4,"cookie_mask":"255","flow-name":"FooXf4","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"325","installHw":false,"table_id":2,"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":3,"nanosecond":408000000}},"priority":202,"cookie_mask":"255","flow-name":"set-field-tcp-dst","strict":false,"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}},"flags":""},{"id":"126","installHw":false,"table_id":2,"cookie":"3","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":857000000}},"priority":3,"cookie_mask":"255","flow-name":"FooXf3","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-source":{"address":"00:00:00:00:00:01"}}},"flags":""},{"id":"324","installHw":false,"table_id":2,"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":3,"nanosecond":444000000}},"priority":201,"cookie_mask":"255","flow-name":"set-field-tcp-src","strict":false,"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}},"flags":""},{"id":"125","installHw":false,"table_id":2,"cookie":"2","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":893000000}},"priority":2,"cookie_mask":"255","flow-name":"FooXf2","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-source":"10.0.0.1/32"},"flags":""},{"id":"124","installHw":false,"table_id":2,"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":4,"nanosecond":935000000}},"priority":1,"cookie_mask":"255","flow-name":"FooXf1","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.1.0/24"},"flags":""},{"id":"168","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"45","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":934000000}},"priority":45,"cookie_mask":"255","flow-name":"FooXf45","strict":false,"idle-timeout":0,"barrier":false,"match":{"metadata":{"metadata-mask":"4293984255","metadata":"1180719718"}},"out_group":4294967295,"flags":""},{"id":"145","installHw":false,"table_id":2,"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":4,"nanosecond":232000000}},"priority":22,"cookie_mask":"255","flow-name":"FooXf22","strict":false,"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}},"flags":""},{"id":"343","installHw":false,"table_id":2,"out_port":"4294967295","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":3,"nanosecond":10000000}},"priority":220,"cookie_mask":"255","flow-name":"flow-instruction-write-metadata","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"144","installHw":false,"table_id":2,"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":4,"nanosecond":269000000}},"priority":21,"cookie_mask":"255","flow-name":"FooXf21","strict":false,"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}},"flags":""},{"id":"342","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"219","instructions":{"instruction":[{"order":0,"clear-actions":{"action":[{"order":0,"output-action":{"max-length":60,"output-node-connector":"INPORT"}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":110000000}},"priority":219,"cookie_mask":"255","flow-name":"flow-instruction-clear-actions","strict":false,"idle-timeout":0,"barrier":false,"match":{"vlan-match":{"vlan-id":{"vlan-id":10,"vlan-id-present":true},"vlan-pcp":3}},"out_group":4294967295,"flags":""},{"id":"143","installHw":false,"table_id":2,"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":4,"nanosecond":310000000}},"priority":20,"cookie_mask":"255","flow-name":"FooXf20","strict":false,"idle-timeout":0,"match":{"metadata":{"metadata-mask":"61695","metadata":"12345"}},"flags":""},{"id":"341","installHw":false,"table_id":2,"out_port":"4294967295","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":3,"nanosecond":144000000}},"priority":218,"cookie_mask":"255","flow-name":"flow-instruction-go-to-table","strict":false,"idle-timeout":0,"barrier":false,"match":{"tunnel":{"tunnel-mask":"65520","tunnel-id":"10656"}},"out_group":4294967295,"flags":""},{"id":"142","installHw":false,"table_id":2,"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":4,"nanosecond":339000000}},"priority":19,"cookie_mask":"255","flow-name":"FooXf19","strict":false,"idle-timeout":0,"match":{"metadata":{"metadata":"12345"}},"flags":""},{"id":"141","installHw":false,"table_id":2,"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":4,"nanosecond":370000000}},"priority":18,"cookie_mask":"255","flow-name":"FooXf18","strict":false,"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"},"flags":""},{"id":"140","table_id":2,"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":4,"nanosecond":407000000}},"priority":17,"cookie_mask":"255","flow-name":"FooXf17","strict":false,"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}},"flags":""},{"id":"139","table_id":2,"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":4,"nanosecond":449000000}},"priority":16,"cookie_mask":"255","flow-name":"FooXf16","strict":false,"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}},"flags":""},{"id":"337","installHw":false,"table_id":2,"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":3,"nanosecond":188000000}},"priority":214,"cookie_mask":"255","flow-name":"set-field-ip-ecn","strict":false,"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}},"flags":""},{"id":"138","table_id":2,"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":4,"nanosecond":482000000}},"priority":15,"cookie_mask":"255","flow-name":"FooXf15","strict":false,"idle-timeout":0,"barrier":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}}},"flags":""},{"id":"137","table_id":2,"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":4,"nanosecond":511000000}},"priority":14,"cookie_mask":"255","flow-name":"FooXf14","strict":false,"idle-timeout":0,"barrier":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"}},"flags":""},{"id":"233","installHw":false,"table_id":2,"cookie":"110","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"push-vlan-action":{"vlan-id":1234,"ethernet-type":33024}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":552000000}},"priority":110,"cookie_mask":"255","flow-name":"push-vlan-action","strict":false,"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}},"flags":""},{"id":"232","installHw":false,"table_id":2,"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":3,"nanosecond":601000000}},"priority":109,"cookie_mask":"255","flow-name":"FooXf109","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"154","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"31","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"drop-action":{}}]}}]},"hard-timeout":0,"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":4,"nanosecond":81000000}},"priority":31,"cookie_mask":"255","flow-name":"FooXf31","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"231","installHw":false,"table_id":2,"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":3,"nanosecond":640000000}},"priority":108,"cookie_mask":"255","flow-name":"FooXf108","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"550","table_id":2,"priority":550,"cookie_mask":"0","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"}}}]},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"output-action":{"max-length":0,"output-node-connector":"1"}}]}}]},"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":828000000}},"hard-timeout":0,"flags":""},{"id":"230","installHw":false,"table_id":2,"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":3,"nanosecond":677000000}},"priority":107,"cookie_mask":"255","flow-name":"FooXf107","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"229","installHw":false,"table_id":2,"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":3,"nanosecond":713000000}},"priority":106,"cookie_mask":"255","flow-name":"FooXf106","strict":false,"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::/100","ipv6-destination":"fe80:2acf:e9ff:fe21::6431/128","metadata":{"metadata":"12345"},"ip-match":{"ip-protocol":6,"ip-ecn":2,"ip-dscp":45}},"flags":""},{"id":"228","installHw":false,"table_id":2,"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":3,"nanosecond":750000000}},"priority":105,"cookie_mask":"255","flow-name":"FooXf105","strict":false,"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}},"flags":""},{"id":"227","installHw":false,"table_id":2,"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":3,"nanosecond":786000000}},"priority":104,"cookie_mask":"255","flow-name":"FooXf104","strict":false,"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}},"flags":""},{"id":"348","table_id":2,"priority":225,"cookie_mask":"0","flow-name":"Foo225","idle-timeout":0,"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"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":904000000}},"hard-timeout":0,"flags":""},{"id":"226","installHw":false,"table_id":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":3,"nanosecond":823000000}},"priority":103,"cookie_mask":"255","flow-name":"FooXf103","strict":false,"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}},"flags":""},{"id":"347","table_id":2,"priority":224,"cookie_mask":"0","flow-name":"Foo224","idle-timeout":0,"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"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":935000000}},"hard-timeout":0,"flags":""},{"id":"148","installHw":false,"table_id":2,"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":4,"nanosecond":120000000}},"priority":25,"cookie_mask":"255","flow-name":"FooXf25","strict":false,"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}},"flags":""},{"id":"225","installHw":false,"table_id":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":3,"nanosecond":860000000}},"priority":102,"cookie_mask":"255","flow-name":"FooXf102","strict":false,"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}},"flags":""},{"id":"346","table_id":2,"priority":223,"cookie_mask":"0","flow-name":"Foo223","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination-address-no-mask":"7.0.17.0","ipv4-destination-arbitrary-bitmask":"255.0.241.0"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":2,"nanosecond":971000000}},"hard-timeout":0,"flags":""},{"id":"147","installHw":false,"table_id":2,"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":4,"nanosecond":158000000}},"priority":24,"cookie_mask":"255","flow-name":"FooXf24","strict":false,"idle-timeout":0,"match":{"tunnel":{"tunnel-id":"2591"}},"flags":""},{"id":"224","installHw":false,"table_id":2,"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":3,"nanosecond":897000000}},"priority":101,"cookie_mask":"255","flow-name":"FooXf101","strict":false,"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}},"flags":""},{"id":"345","table_id":2,"priority":222,"cookie_mask":"0","flow-name":"Foo222","idle-timeout":0,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"2.2.0.0/16"},"cookie":"0","instructions":{"instruction":[{"order":0,"apply-actions":{"action":[{"order":0,"dec-nw-ttl":{}}]}}]},"opendaylight-flow-statistics:flow-statistics":{"packet-count":"0","byte-count":"0","duration":{"second":3,"nanosecond":10000000}},"hard-timeout":0,"flags":""},{"id":"146","installHw":false,"table_id":2,"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":4,"nanosecond":193000000}},"priority":23,"cookie_mask":"255","flow-name":"FooXf23","strict":false,"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}},"flags":""},{"id":"344","installHw":false,"table_id":2,"out_port":"4294967295","cookie":"221","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":3,"nanosecond":10000000}},"priority":221,"cookie_mask":"255","flow-name":"flow-instruction-write-actions","strict":false,"idle-timeout":0,"barrier":false,"match":{"vlan-match":{"vlan-id":{"vlan-id":10,"vlan-id-present":true},"vlan-pcp":3}},"out_group":4294967295,"flags":""},{"id":"166","installHw":false,"table_id":2,"out_port":"4294967295","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":3,"nanosecond":973000000}},"priority":43,"cookie_mask":"255","flow-name":"FooXf43","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":34525}},"icmpv6-match":{"icmpv6-code":1,"icmpv6-type":135},"ip-match":{"ip-protocol":58}},"out_group":4294967295,"flags":""},{"id":"161","installHw":false,"table_id":2,"out_port":"4294967295","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":4,"nanosecond":6000000}},"priority":38,"cookie_mask":"255","flow-name":"FooXf38","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"out_group":4294967295,"flags":""},{"id":"159","installHw":false,"table_id":2,"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":4,"nanosecond":30000000}},"priority":36,"cookie_mask":"255","flow-name":"FooXf36","strict":false,"idle-timeout":0,"barrier":false,"match":{"ethernet-match":{"ethernet-type":{"type":2048}},"ipv4-destination":"10.0.0.0/24"},"flags":""},{"id":"236","installHw":false,"table_id":2,"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":518000000}},"priority":113,"cookie_mask":"255","flow-name":"push-mpls-action","strict":false,"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":"openflow:1:0","ip-match":{"ip-protocol":17,"ip-ecn":3,"ip-dscp":8}},"flags":""},{"id":"279","table_id":2,"cookie":"156","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":3,"nanosecond":484000000}},"priority":156,"cookie_mask":"255","flow-name":"FooXf156","strict":false,"idle-timeout":0,"barrier":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}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:12.255346" elapsed="0.005544"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.265420" 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-08-18T20:12:12.261230" elapsed="0.004358"/>
</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-08-18T20:12:12.232917" elapsed="0.032736"/>
</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-08-18T20:12:08.138368" elapsed="4.127336"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:12:12.267982" 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-08-18T20:12:12.265877" elapsed="0.002161"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:12:12.413515" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=7.348s, table=0, n_packets=12, n_bytes=992, send_flow_rem priority=0 actions=CONTROLLER:65535
 cookie=0x0, duration=4.102s, table=2, n_packets=0, n_bytes=0, priority=550,tun_src=192.168.0.10 actions=output:"s1-eth1"
 cookie=0x0, duration=4.178s, 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=4.209s, 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=4.245s, 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=4.284s, table=2, n_packets=0, n_bytes=0, priority=222,ip,nw_dst=2.2.0.0/16 actions=dec_ttl
 cookie=0xdb, duration=4.384s, table=2, n_packets=0, n_bytes=0, priority=219,dl_vlan=10,dl_vlan_pcp=3 actions=clear_actions
 cookie=0xdd, duration=4.284s, table=2, n_packets=0, n_bytes=0, priority=221,dl_vlan=10,dl_vlan_pcp=3 actions=output:"s1-eth1"
 cookie=0x1, duration=6.209s, table=2, n_packets=0, n_bytes=0, priority=1,ip,nw_dst=10.0.1.0/24 actions=dec_ttl
 cookie=0x1f, duration=5.355s, table=2, n_packets=0, n_bytes=0, priority=31,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0x24, duration=5.304s, 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=5.280s, 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=4.284s, 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=4.418s, table=2, n_packets=0, n_bytes=0, priority=218,tun_id=0x29a0/0xfff0 actions=goto_table:3
 cookie=0xd6, duration=4.462s, 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=5.543s, 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=5.506s, 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=5.170s, 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=5.059s, 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.498s, 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=5.864s, 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=5.833s, 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=4.573s, 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=4.528s, 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=4.717s, 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=4.681s, 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=4.644s, 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=4.611s, 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=5.722s, 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=4.757s, 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=4.950s, 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=4.913s, 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=4.874s, 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=4.791s, 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=4.825s, 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=4.986s, 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=5.023s, 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=5.133s, 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=5.096s, 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=5.207s, table=2, n_packets=0, n_bytes=0, priority=45,metadata=0x46605a66/0xfff0ffff actions=drop
 cookie=0x2b, duration=5.246s, table=2, n_packets=0, n_bytes=0, priority=43,icmp6,icmp_type=135,icmp_code=1 actions=dec_ttl
 cookie=0x17, duration=5.466s, 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=5.393s, 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=5.431s, table=2, n_packets=0, n_bytes=0, priority=24,tun_id=0xa1f actions=TABLE
 cookie=0x14, duration=5.583s, table=2, n_packets=0, n_bytes=0, priority=20,metadata=0x3039/0xf0ff actions=LOCAL
 cookie=0x13, duration=5.612s, table=2, n_packets=0, n_bytes=0, priority=19,metadata=0x3039 actions=IN_PORT
 cookie=0x12, duration=5.643s, 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=5.680s, 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=5.755s, 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=5.784s, 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=5.902s, 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=5.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=5.976s, 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=6.017s, 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=6.055s, 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=6.087s, 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=6.130s, table=2, n_packets=0, n_bytes=0, priority=3,dl_src=00:00:00:00:00:01 actions=drop
 cookie=0x2, duration=6.166s, 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-08-18T20:12:12.268209" elapsed="0.145491"/>
</kw>
<doc>Add all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-08-18T20:12:05.996616" elapsed="6.417228"/>
</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-08-18T20:12:12.424826" 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-08-18T20:12:12.424978" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:12.424664" elapsed="0.000343"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:12.425583" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6d90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:12.425160" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.426059" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:12.425779" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.426496" 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-08-18T20:12:12.426233" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.426954" 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-08-18T20:12:12.426666" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.427778" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:12.427127" elapsed="0.000683"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.428322" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:12.427973" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.428842" 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-08-18T20:12:12.428513" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.429350" 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-08-18T20:12:12.429031" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.429863" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:12.429542" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.430364" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:12.430054" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.430883" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6d90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:12.430552" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:12.424336" elapsed="0.006643"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.431515" 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-08-18T20:12:12.431127" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.432004" 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-08-18T20:12:12.431760" 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-08-18T20:12:12.439911" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:12.439581" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:12.462490" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:12.462615" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:12.462728" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:12.440100" elapsed="0.022675"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.463187" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:12.462937" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.465390" 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-08-18T20:12:12.463372" elapsed="0.002076"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.467322" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.465533" elapsed="0.001846"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.465507" elapsed="0.001896"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.470301" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:12.470348" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:12.467543" elapsed="0.002829"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:12.472181" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:12.470446" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.470428" elapsed="0.001856"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:12.472320" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:12.472531" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:12.472574" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:12.439271" elapsed="0.033326"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.474774" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.473151" elapsed="0.001670"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.473133" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.475397" 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-08-18T20:12:12.474988" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.475954" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:12.475583" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:12.476031" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:12.476208" 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-08-18T20:12:12.472823" elapsed="0.003420"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:12.476399" 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-08-18T20:12:12.438680" elapsed="0.038198"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.484789" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:12.484440" elapsed="0.000378"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:12.531326" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:12.531803" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:12.532461" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:12.484947" elapsed="0.047580"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.533487" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:12.532917" elapsed="0.000670"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.538459" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:12.533929" elapsed="0.006717"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.542666" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.540851" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.540800" elapsed="0.001937"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.567545" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:12.567592" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:12.542888" elapsed="0.024727"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:12.569413" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:12.567693" elapsed="0.001776"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.567673" elapsed="0.001820"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:12.569527" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:12:12.569727" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:12.569786" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:12.484054" elapsed="0.085755"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.572035" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.570365" elapsed="0.001715"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.570346" elapsed="0.001756"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.572691" 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-08-18T20:12:12.572259" elapsed="0.000460"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.573243" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:12.572894" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:12.573317" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:12.573495" 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-08-18T20:12:12.570031" 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-08-18T20:12:12.573672" 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-08-18T20:12:12.483434" elapsed="0.090718"/>
</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-08-18T20:12:12.421071" elapsed="0.153137"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:12.414161" elapsed="0.160168"/>
</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-08-18T20:12:12.585064" 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-08-18T20:12:12.585198" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:12.584926" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:12.585774" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913740&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:12.585373" elapsed="0.000429"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.586230" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:12.585955" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.586665" 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-08-18T20:12:12.586402" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.587119" 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-08-18T20:12:12.586850" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.587903" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:12.587291" elapsed="0.000642"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.588430" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:12.588084" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.588999" 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-08-18T20:12:12.588661" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.589507" 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-08-18T20:12:12.589188" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.590019" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:12.589693" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.590523" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:12.590210" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.591042" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913740&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:12.590713" 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-08-18T20:12:12.584588" elapsed="0.006549"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.591659" 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-08-18T20:12:12.591284" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.592093" 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-08-18T20:12:12.591856" 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-08-18T20:12:12.599662" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:12.599365" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:12.607671" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:12.607873" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:12.608019" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:12.599830" elapsed="0.008224"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.608667" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:12.608293" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.611684" 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-08-18T20:12:12.608971" elapsed="0.002892"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.614395" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.611965" elapsed="0.002499"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.611938" elapsed="0.002556"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.618337" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:12.618401" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:12.614685" elapsed="0.003747"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:12.620939" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:12.618534" elapsed="0.002484"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.618509" elapsed="0.002538"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:12.621089" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:12.621279" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:12.621322" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:12.599057" elapsed="0.022287"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.623450" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.621892" elapsed="0.001603"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.621874" elapsed="0.001642"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.624067" 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-08-18T20:12:12.623657" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.624618" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:12.624248" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:12.624693" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:12.624885" 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-08-18T20:12:12.621554" elapsed="0.003356"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:12.625062" 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-08-18T20:12:12.598501" elapsed="0.027007"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.633140" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:12.632845" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:12.654206" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:12.654619" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:12.655286" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:12.633293" elapsed="0.022051"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.656294" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:12.655707" elapsed="0.000719"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.661366" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:12.656737" elapsed="0.005981"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.665234" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.662835" elapsed="0.002467"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.662808" elapsed="0.002525"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.691832" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:12.691883" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:12.665523" 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-08-18T20:12:12.693681" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:12.691982" elapsed="0.001755"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.691964" elapsed="0.001812"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:12.693811" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:12.694003" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:12.694045" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:12.632462" elapsed="0.061606"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.696185" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.694603" elapsed="0.001626"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.694585" elapsed="0.001666"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.696834" 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-08-18T20:12:12.696414" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.697363" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:12.697017" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:12.697437" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:12.697614" 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-08-18T20:12:12.694278" elapsed="0.003361"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:12.697806" 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-08-18T20:12:12.631849" elapsed="0.066403"/>
</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-08-18T20:12:12.581372" elapsed="0.116935"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:12.574596" elapsed="0.123822"/>
</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-08-18T20:12:12.709240" 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-08-18T20:12:12.709371" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:12.709103" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:12.709944" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:12.709547" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.710394" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:12.710119" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.710847" 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-08-18T20:12:12.710566" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.711287" 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-08-18T20:12:12.711023" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.712069" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:12.711457" elapsed="0.000643"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.712608" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:12.712250" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.713192" 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-08-18T20:12:12.712875" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.713701" 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-08-18T20:12:12.713382" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.714219" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:12.713909" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.714723" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:12.714409" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.715272" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:12.714931" 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-08-18T20:12:12.708777" elapsed="0.006590"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.715904" 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-08-18T20:12:12.715511" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.716315" 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-08-18T20:12:12.716080" 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-08-18T20:12:12.723893" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:12.723582" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:12.732029" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:12.732337" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:12.732638" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:12.724050" elapsed="0.008650"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.733795" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:12.733151" elapsed="0.000759"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.739413" 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-08-18T20:12:12.734252" elapsed="0.005295"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.742275" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.739818" elapsed="0.002507"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.739737" elapsed="0.002611"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.745046" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:12.745093" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:12.742486" elapsed="0.002631"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:12.746882" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:12.745192" elapsed="0.001746"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.745173" elapsed="0.001788"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:12.746995" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:12.747186" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:12.747228" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:12.723275" elapsed="0.023975"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.749383" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.747796" elapsed="0.001632"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.747778" elapsed="0.001672"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.750012" 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-08-18T20:12:12.749598" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.750543" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:12.750196" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:12.750619" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:12.750812" 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-08-18T20:12:12.747456" elapsed="0.003381"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:12.750990" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:12.722723" elapsed="0.028709"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.759110" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:12.758808" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:12.781979" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:12.782423" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:12.783125" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:12.759263" elapsed="0.023924"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.784196" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:12.783560" elapsed="0.000743"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.790091" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:12.784692" elapsed="0.007920"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.794622" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.792814" elapsed="0.001858"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.792739" elapsed="0.001955"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.819664" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:12.819711" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:12.794844" elapsed="0.024890"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:12.821557" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:12.819828" elapsed="0.001785"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.819809" elapsed="0.001829"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:12.821672" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:12.821884" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:12.821931" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:12.758425" elapsed="0.063527"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.824079" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.822508" elapsed="0.001616"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.822490" elapsed="0.001655"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.824705" 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-08-18T20:12:12.824288" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.825263" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:12.824914" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:12.825338" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:12.825515" 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-08-18T20:12:12.822168" elapsed="0.003371"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:12.825691" 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-08-18T20:12:12.757822" elapsed="0.068333"/>
</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-08-18T20:12:12.705546" elapsed="0.120665"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:12.698679" elapsed="0.127645"/>
</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-08-18T20:12:12.837196" 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-08-18T20:12:12.837330" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:12.837058" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:12.837918" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e7f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:12.837506" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.838368" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:12.838096" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.838836" 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-08-18T20:12:12.838548" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.839278" 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-08-18T20:12:12.839008" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.840079" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:12.839449" elapsed="0.000660"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.840593" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:12.840260" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.841164" 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-08-18T20:12:12.840840" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.841675" 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-08-18T20:12:12.841354" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.842192" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:12.841882" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.842697" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:12.842384" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.843220" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e7f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:12.842905" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:12.836721" elapsed="0.006595"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.843860" 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-08-18T20:12:12.843462" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.844290" 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-08-18T20:12:12.844050" 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-08-18T20:12:12.851920" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:12.851606" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:12.857948" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:12.858074" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:12.858177" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:12.852072" elapsed="0.006129"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.858605" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:12.858358" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.860975" 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-08-18T20:12:12.858805" 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-08-18T20:12:12.863624" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.861225" elapsed="0.002467"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.861198" elapsed="0.002525"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.867595" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:12.867659" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:12.863931" elapsed="0.003758"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:12.869881" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:12.867812" elapsed="0.002125"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.867785" elapsed="0.002175"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:12.869994" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:12.870184" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:12.870226" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:12.851284" elapsed="0.018964"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.872353" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.870790" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.870771" elapsed="0.001649"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.872994" 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-08-18T20:12:12.872585" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.873525" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:12.873176" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:12.873599" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:12.873790" 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-08-18T20:12:12.870452" elapsed="0.003364"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:12.873968" elapsed="0.000377"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:12.850718" elapsed="0.023688"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.882062" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:12.881762" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:12.902063" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:12.902504" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:12.903219" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:12.882214" elapsed="0.021067"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.904282" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:12.903654" elapsed="0.000733"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.909686" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:12.904802" elapsed="0.006326"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.913640" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.911229" elapsed="0.002479"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.911202" elapsed="0.002536"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.941872" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:12.941919" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:12.913948" elapsed="0.027998"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:12.943719" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:12.942028" elapsed="0.001763"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.942009" elapsed="0.001807"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:12.943850" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:12.944043" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:12.944085" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:12.881383" elapsed="0.062723"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.946313" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.944672" elapsed="0.001687"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.944654" elapsed="0.001727"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.946940" 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-08-18T20:12:12.946525" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.947469" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:12.947124" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:12.947542" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:12.947719" 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-08-18T20:12:12.944319" elapsed="0.003439"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:12.947918" 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-08-18T20:12:12.880777" elapsed="0.067587"/>
</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-08-18T20:12:12.833494" elapsed="0.114925"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:12.826583" elapsed="0.121970"/>
</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-08-18T20:12:12.959255" 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-08-18T20:12:12.959387" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:12.959119" elapsed="0.000296"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:12.959977" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570fb00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:12.959563" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.960423" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:12.960151" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.960888" 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-08-18T20:12:12.960604" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:12.961320" 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-08-18T20:12:12.961058" elapsed="0.000287"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.962164" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:12.961489" elapsed="0.000706"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.962669" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:12.962348" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.963229" 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-08-18T20:12:12.962912" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.963756" 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-08-18T20:12:12.963417" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.964257" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:12.963951" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.964805" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:12.964447" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.965311" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570fb00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:12.964999" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:12.958795" elapsed="0.006611"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.965941" 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-08-18T20:12:12.965551" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.966358" 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-08-18T20:12:12.966122" 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-08-18T20:12:12.974104" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:12.973804" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:12.981488" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:12.981621" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:12.981725" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:12.974257" elapsed="0.007514"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.982305" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:12.981959" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.985335" 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-08-18T20:12:12.982557" elapsed="0.002906"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.987983" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.985561" elapsed="0.002491"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.985534" elapsed="0.002548"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:12.992114" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:12.992177" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:12.988269" elapsed="0.003939"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:12.994155" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:12.992308" elapsed="0.001901"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.992283" elapsed="0.001950"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:12.994266" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:12.994457" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:12.994500" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:12.973482" elapsed="0.021040"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:12.996636" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:12.995073" elapsed="0.001608"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:12.995055" elapsed="0.001648"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.997254" 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-08-18T20:12:12.996858" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:12.997797" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:12.997437" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:12.997873" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:12.998048" 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-08-18T20:12:12.994727" elapsed="0.003346"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:12.998225" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:12.972945" elapsed="0.025721"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.006488" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.006192" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.027419" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.027876" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:13.028539" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.006640" elapsed="0.021962"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.029539" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.028982" elapsed="0.000656"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.034565" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:13.029981" elapsed="0.006957"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.039448" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.037079" elapsed="0.002436"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.037046" elapsed="0.002499"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.065547" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.065593" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:13.039734" 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-08-18T20:12:13.067395" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.065693" elapsed="0.001757"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.065674" elapsed="0.001800"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.067508" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.067699" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:13.067741" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:13.005825" elapsed="0.061965"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.069932" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.068344" elapsed="0.001633"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.068326" elapsed="0.001673"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.070545" 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-08-18T20:12:13.070142" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.071097" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.070728" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.071172" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.071348" 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-08-18T20:12:13.068019" elapsed="0.003354"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:13.071525" 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-08-18T20:12:13.005207" elapsed="0.066778"/>
</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-08-18T20:12:12.955561" elapsed="0.116480"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:12.948815" elapsed="0.123339"/>
</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-08-18T20:12:13.082862" 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-08-18T20:12:13.082993" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.082711" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:13.083560" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3380&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:13.083168" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.084024" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:13.083734" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.084459" 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-08-18T20:12:13.084196" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.084937" 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-08-18T20:12:13.084653" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.085756" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:13.085106" elapsed="0.000682"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.086267" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.085945" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.086827" 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-08-18T20:12:13.086492" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.087339" 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-08-18T20:12:13.087017" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.087846" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.087526" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.088351" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:13.088038" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.088886" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3380&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.088542" 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-08-18T20:12:13.082387" elapsed="0.006594"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.089507" 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-08-18T20:12:13.089126" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.089947" 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-08-18T20:12:13.089688" 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-08-18T20:12:13.097728" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.097433" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.107367" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.107496" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:13.107600" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.097901" elapsed="0.009724"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.108062" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.107806" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.110261" 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-08-18T20:12:13.108246" 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-08-18T20:12:13.112187" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.110420" elapsed="0.001816"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.110401" elapsed="0.001858"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.115835" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.115900" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:13.112395" elapsed="0.003536"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.118494" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.116034" elapsed="0.002539"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.116008" elapsed="0.002598"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.118654" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:13.118970" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:13.119033" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:13.097124" elapsed="0.021940"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.122172" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.119833" elapsed="0.002385"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.119808" elapsed="0.002432"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.122795" 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-08-18T20:12:13.122383" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.123332" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.122982" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.123421" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:13.123599" 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-08-18T20:12:13.119355" elapsed="0.004269"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:13.123796" 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-08-18T20:12:13.096519" elapsed="0.027727"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.132437" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.132143" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.154276" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.154736" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:13.155424" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.132590" elapsed="0.022892"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.156433" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.155871" elapsed="0.000661"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.161472" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:13.156895" elapsed="0.007031"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.165761" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.164055" elapsed="0.001769"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.164031" elapsed="0.001815"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.189830" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.189878" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:13.165985" elapsed="0.023916"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.191680" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.189979" elapsed="0.001757"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.189961" elapsed="0.001802"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.191812" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.192033" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:13.192076" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:13.131754" elapsed="0.060344"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.194225" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.192632" elapsed="0.001637"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.192614" elapsed="0.001677"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.194869" 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-08-18T20:12:13.194434" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.195418" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.195073" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.195493" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:13.195667" 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-08-18T20:12:13.192310" elapsed="0.003381"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:13.195862" 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-08-18T20:12:13.131144" elapsed="0.065179"/>
</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-08-18T20:12:13.079156" elapsed="0.117223"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:13.072404" elapsed="0.124087"/>
</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-08-18T20:12:13.207190" 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-08-18T20:12:13.207323" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.207055" elapsed="0.000296"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:13.207927" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eb2e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:13.207506" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.208377" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:13.208103" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.208868" 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-08-18T20:12:13.208555" elapsed="0.000339"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.209312" 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-08-18T20:12:13.209040" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.210218" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:13.209483" elapsed="0.000765"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.210726" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.210406" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.211295" 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-08-18T20:12:13.210975" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.211824" 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-08-18T20:12:13.211486" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.212319" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.212014" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.212848" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:13.212508" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.213354" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eb2e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.213041" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:13.206716" elapsed="0.006732"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.213983" 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-08-18T20:12:13.213592" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.214406" 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-08-18T20:12:13.214169" 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-08-18T20:12:13.222219" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.221917" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.230082" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.230208" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:13.230313" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.222374" elapsed="0.007964"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.230740" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.230493" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.233853" 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-08-18T20:12:13.231073" elapsed="0.002866"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.236505" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.234035" elapsed="0.002539"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.234009" elapsed="0.002595"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.240878" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.240942" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:13.236815" elapsed="0.004159"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.243361" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.241076" elapsed="0.002341"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.241050" elapsed="0.002398"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.243483" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.243673" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:13.243715" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:13.221592" elapsed="0.022145"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.246014" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.244289" elapsed="0.001785"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.244272" elapsed="0.001824"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.246653" 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-08-18T20:12:13.246240" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.247202" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.246855" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.247276" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:13.247451" 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-08-18T20:12:13.243967" 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-08-18T20:12:13.247626" 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-08-18T20:12:13.221009" elapsed="0.027081"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.255770" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.255475" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.273728" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.274011" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:13.274411" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.255941" elapsed="0.018506"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.275041" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.274664" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.278209" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:13.275383" elapsed="0.004348"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.282245" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.279853" elapsed="0.002460"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.279825" elapsed="0.002519"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.348012" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.348076" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:13.282531" elapsed="0.065570"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.350037" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.348227" elapsed="0.001898"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.348194" elapsed="0.001960"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.350194" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:13.350414" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:13.350458" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:13.255110" elapsed="0.095370"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.352690" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.351105" elapsed="0.001630"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.351087" elapsed="0.001673"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.353387" 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-08-18T20:12:13.352927" elapsed="0.000487"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.353938" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.353572" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.354012" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.354188" 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-08-18T20:12:13.350731" 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-08-18T20:12:13.354392" 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-08-18T20:12:13.254497" elapsed="0.100383"/>
</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-08-18T20:12:13.203505" elapsed="0.151437"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:13.196742" elapsed="0.158326"/>
</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-08-18T20:12:13.365965" 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-08-18T20:12:13.366135" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.365819" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:13.366796" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9990&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:13.366313" elapsed="0.000514"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.367267" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:13.366982" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.367704" 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-08-18T20:12:13.367439" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.368161" 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-08-18T20:12:13.367894" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.369233" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:13.368334" elapsed="0.000930"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.369750" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.369418" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.370341" 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-08-18T20:12:13.370025" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.370869" 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-08-18T20:12:13.370529" elapsed="0.000444"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.371463" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.371142" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.371999" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:13.371659" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.372504" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9990&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.372191" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:13.365477" elapsed="0.007121"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.373143" 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-08-18T20:12:13.372746" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.373556" 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-08-18T20:12:13.373319" 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-08-18T20:12:13.381153" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.380846" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.388431" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.388604" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:13.388712" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.381307" elapsed="0.007430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.389204" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.388954" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.391338" 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-08-18T20:12:13.389388" elapsed="0.002012"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.393259" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.391471" elapsed="0.001838"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.391452" elapsed="0.001878"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.396417" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.396463" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:13.393464" elapsed="0.003021"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.398375" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.396558" elapsed="0.001873"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.396540" elapsed="0.001914"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.398488" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.398678" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:13.398721" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:13.380520" elapsed="0.018227"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.400883" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.399296" elapsed="0.001632"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.399279" elapsed="0.001671"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.401482" 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-08-18T20:12:13.401091" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.402067" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.401665" elapsed="0.000427"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.402141" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.402323" 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-08-18T20:12:13.398967" elapsed="0.003381"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:13.402499" 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-08-18T20:12:13.379982" elapsed="0.022983"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.410629" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.410336" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.427944" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.428358" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:13.429031" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.410802" elapsed="0.018289"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.430128" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.429522" elapsed="0.000708"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.435177" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:13.430541" elapsed="0.006786"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.439593" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.437539" elapsed="0.002103"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.437447" elapsed="0.002218"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.463192" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.463240" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:13.439819" elapsed="0.023444"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.465085" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.463341" elapsed="0.001801"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.463322" elapsed="0.001844"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.465200" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.465393" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:13.465436" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:13.409970" elapsed="0.055488"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.467616" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.466014" elapsed="0.001647"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.465996" elapsed="0.001687"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.468243" 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-08-18T20:12:13.467845" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.468781" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.468430" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.468870" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:13.469047" 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-08-18T20:12:13.465665" 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-08-18T20:12:13.469227" elapsed="0.000381"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:13.409343" elapsed="0.060327"/>
</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-08-18T20:12:13.362256" elapsed="0.107470"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:13.355402" elapsed="0.114457"/>
</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-08-18T20:12:13.480855" 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-08-18T20:12:13.480990" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.480699" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:13.481578" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0590&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:13.481166" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.482052" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:13.481759" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.482491" 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-08-18T20:12:13.482225" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.482948" 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-08-18T20:12:13.482663" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.484022" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:13.483119" elapsed="0.000935"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.484534" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.484209" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.485116" 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-08-18T20:12:13.484774" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.485629" 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-08-18T20:12:13.485308" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.486151" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.485836" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.486656" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:13.486343" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.487188" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0590&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.486866" 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-08-18T20:12:13.480374" elapsed="0.006910"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.487852" 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-08-18T20:12:13.487432" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.488268" 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-08-18T20:12:13.488030" 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-08-18T20:12:13.496123" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.495820" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.502192" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.502322" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:13.502429" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.496277" elapsed="0.006177"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.502923" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.502644" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.505212" 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-08-18T20:12:13.503110" elapsed="0.002188"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.507821" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.505395" elapsed="0.002496"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.505370" elapsed="0.002552"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.512251" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.512317" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:13.508113" elapsed="0.004236"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.514464" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.512501" elapsed="0.002020"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.512472" elapsed="0.002072"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.514578" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.514773" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:13.514831" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:13.495457" elapsed="0.019396"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.516980" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.515384" elapsed="0.001642"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.515367" elapsed="0.001680"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.517585" 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-08-18T20:12:13.517191" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.518136" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.517771" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.518211" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:13.518388" 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-08-18T20:12:13.515060" elapsed="0.003352"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:13.518566" 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-08-18T20:12:13.494905" elapsed="0.024128"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.526672" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.526379" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.543824" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.544237" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:13.544895" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.526843" elapsed="0.018112"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.545949" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.545303" elapsed="0.000747"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.549413" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:13.546360" elapsed="0.004608"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.553480" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.551083" elapsed="0.002465"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.551056" elapsed="0.002523"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.577418" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.577465" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:13.553772" elapsed="0.023715"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.579328" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.577565" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.577547" elapsed="0.001861"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.579441" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.579634" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:13.579677" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:13.526012" elapsed="0.053688"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.581859" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.580274" elapsed="0.001634"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.580256" elapsed="0.001677"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.582485" 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-08-18T20:12:13.582079" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.583046" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.582672" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.583123" elapsed="0.000057"/>
</return>
<msg time="2026-08-18T20:12:13.583339" 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-08-18T20:12:13.579937" 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-08-18T20:12:13.583519" 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-08-18T20:12:13.525396" elapsed="0.058602"/>
</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-08-18T20:12:13.477035" elapsed="0.107019"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:13.470113" elapsed="0.114056"/>
</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-08-18T20:12:13.594908" 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-08-18T20:12:13.595044" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.594752" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:13.595636" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570cd60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:13.595222" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.596130" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:13.595852" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.596566" 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-08-18T20:12:13.596302" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.597023" 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-08-18T20:12:13.596737" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.598092" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:13.597195" elapsed="0.000928"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.598606" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.598278" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.599176" 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-08-18T20:12:13.598854" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.599693" 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-08-18T20:12:13.599368" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.600249" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.599935" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.600764" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:13.600448" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.601293" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570cd60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.600977" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:13.594425" elapsed="0.006963"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.601929" 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-08-18T20:12:13.601533" elapsed="0.000427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.602343" 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-08-18T20:12:13.602105" 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-08-18T20:12:13.610073" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.609755" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.616224" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.616360" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:13.616496" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.610226" elapsed="0.006297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.616991" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.616711" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.619152" 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-08-18T20:12:13.617175" elapsed="0.002038"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.621032" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.619282" elapsed="0.001800"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.619263" elapsed="0.001841"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.624172" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.624218" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:13.621239" elapsed="0.003003"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.626180" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.624315" elapsed="0.001922"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.624297" elapsed="0.001963"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.626293" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.626484" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:13.626527" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:13.609444" elapsed="0.017104"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.628658" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.627099" elapsed="0.001604"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.627082" elapsed="0.001643"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.629306" 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-08-18T20:12:13.628889" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.629858" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.629491" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.629934" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:13.630112" 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-08-18T20:12:13.626758" elapsed="0.003379"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:13.630291" 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-08-18T20:12:13.608892" elapsed="0.021846"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.638487" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.638192" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.653204" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.653468" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:13.653939" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.638641" elapsed="0.015338"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.654552" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.654201" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.657625" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:13.654831" elapsed="0.004136"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.661532" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.659068" elapsed="0.002536"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.659041" elapsed="0.002595"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.684796" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.684846" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:13.661852" elapsed="0.023018"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.686696" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.684949" elapsed="0.001807"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.684930" elapsed="0.001864"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.686832" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.687028" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:13.687072" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:13.637819" elapsed="0.049275"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.689330" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.687670" elapsed="0.001705"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.687651" elapsed="0.001747"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.689962" 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-08-18T20:12:13.689543" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.690498" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.690150" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.690574" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.690756" 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-08-18T20:12:13.687337" 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-08-18T20:12:13.690954" 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-08-18T20:12:13.637162" elapsed="0.054258"/>
</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-08-18T20:12:13.591192" elapsed="0.100290"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:13.584427" elapsed="0.107170"/>
</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-08-18T20:12:13.702596" 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-08-18T20:12:13.702729" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.702460" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:13.703339" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc360&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:13.702928" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.703813" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:13.703517" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.704290" 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-08-18T20:12:13.704020" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.704731" 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-08-18T20:12:13.704465" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.707708" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:13.704930" elapsed="0.002810"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.708266" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.707913" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.708839" 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-08-18T20:12:13.708501" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.709359" 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-08-18T20:12:13.709033" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.709876" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.709549" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.710385" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:13.710070" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.710915" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc360&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.710577" 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-08-18T20:12:13.702132" elapsed="0.008886"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.711553" 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-08-18T20:12:13.711176" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.711992" 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-08-18T20:12:13.711729" 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-08-18T20:12:13.719778" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.719478" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.727711" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.727866" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:13.727987" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.719946" elapsed="0.008066"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.728455" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.728202" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.731702" 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-08-18T20:12:13.728640" elapsed="0.003234"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.736060" elapsed="0.000036"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.732031" elapsed="0.004140"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.731988" elapsed="0.004233"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.740381" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.740426" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:13.736524" elapsed="0.003925"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.742256" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.740522" elapsed="0.001789"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.740504" elapsed="0.001831"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.742368" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.742560" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:13.742603" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:13.719171" 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-08-18T20:12:13.744974" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.743182" elapsed="0.001838"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.743165" elapsed="0.001878"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.745632" 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-08-18T20:12:13.745187" elapsed="0.000472"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.746193" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.745837" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.746269" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:13.746448" 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-08-18T20:12:13.742849" elapsed="0.003624"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:13.746628" 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-08-18T20:12:13.718609" elapsed="0.028485"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.754981" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.754659" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.771910" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.772324" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:13.773065" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.755136" elapsed="0.017989"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.774066" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.773472" elapsed="0.000693"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.779219" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:13.774473" elapsed="0.006379"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.783370" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.780952" elapsed="0.002486"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.780926" elapsed="0.002542"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.806240" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.806287" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:13.783656" elapsed="0.022653"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.808167" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.806386" elapsed="0.001836"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.806367" elapsed="0.001879"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.808280" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.808472" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:13.808514" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:13.754291" elapsed="0.054245"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.810653" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.809096" elapsed="0.001602"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.809078" elapsed="0.001642"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.811277" 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-08-18T20:12:13.810880" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.811848" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.811465" elapsed="0.000416"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.811933" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:12:13.812143" 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-08-18T20:12:13.808745" elapsed="0.003424"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:13.812322" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:13.753644" elapsed="0.059125"/>
</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-08-18T20:12:13.698817" elapsed="0.114023"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:13.691868" elapsed="0.121083"/>
</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-08-18T20:12:13.823665" 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-08-18T20:12:13.823815" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.823529" elapsed="0.000316"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:13.824403" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912750&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:13.823991" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.824909" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:13.824610" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.825346" 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-08-18T20:12:13.825082" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.825799" 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-08-18T20:12:13.825516" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.826695" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:13.825973" elapsed="0.000753"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.827221" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.826898" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.827775" 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-08-18T20:12:13.827452" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.828311" 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-08-18T20:12:13.827987" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.828838" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.828499" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.829499" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:13.829030" elapsed="0.000516"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.830035" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912750&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.829695" 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-08-18T20:12:13.823203" elapsed="0.006929"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.830655" 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-08-18T20:12:13.830278" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.831098" 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-08-18T20:12:13.830854" 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-08-18T20:12:13.838717" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.838424" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.846041" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.846175" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:13.846314" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.838891" elapsed="0.007448"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.846750" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.846496" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.849779" 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-08-18T20:12:13.846979" elapsed="0.002907"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.852376" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.849984" elapsed="0.002460"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.849957" elapsed="0.002517"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.856657" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.856720" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:13.852662" elapsed="0.004094"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.859213" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.856878" elapsed="0.002389"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.856851" elapsed="0.002439"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.859324" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.859515" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:13.859557" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:13.838115" elapsed="0.021464"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.863875" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.860131" elapsed="0.003791"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.860114" elapsed="0.003829"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.864486" 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-08-18T20:12:13.864086" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.865039" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.864668" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.865116" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:13.865294" 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-08-18T20:12:13.859804" elapsed="0.005515"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:13.865471" 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-08-18T20:12:13.837550" elapsed="0.028382"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.873627" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.873334" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.889307" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.889717" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:13.890426" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.873797" elapsed="0.016688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.891461" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.890870" elapsed="0.000691"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.896320" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:13.891905" elapsed="0.005733"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.900167" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.897737" elapsed="0.002500"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.897711" elapsed="0.002557"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.927127" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.927173" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:13.900457" elapsed="0.026739"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.928977" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.927273" elapsed="0.001765"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.927254" elapsed="0.001808"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.929095" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:13.929287" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:13.929329" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:13.872969" elapsed="0.056382"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.931495" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.929933" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.929914" elapsed="0.001650"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.932128" 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-08-18T20:12:13.931708" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.932668" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.932315" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.932765" elapsed="0.000051"/>
</return>
<msg time="2026-08-18T20:12:13.932975" 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-08-18T20:12:13.929567" 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-08-18T20:12:13.933155" 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-08-18T20:12:13.872353" elapsed="0.061250"/>
</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-08-18T20:12:13.819951" elapsed="0.113710"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:13.813197" elapsed="0.120581"/>
</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-08-18T20:12:13.944449" 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-08-18T20:12:13.944579" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.944314" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:13.945168" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c950&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:13.944759" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.945644" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:13.945371" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.946101" 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-08-18T20:12:13.945836" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:13.946543" 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-08-18T20:12:13.946272" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.947378" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:13.946714" elapsed="0.000694"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.947900" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.947559" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.948455" 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-08-18T20:12:13.948132" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.948997" 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-08-18T20:12:13.948646" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.949531" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:13.949189" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.950064" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:13.949728" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.950567" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c950&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:13.950255" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:13.943991" elapsed="0.006671"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.951207" 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-08-18T20:12:13.950824" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.951642" 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-08-18T20:12:13.951384" 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-08-18T20:12:13.959572" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.959276" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:13.967228" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:13.967351" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:13.967455" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.959724" elapsed="0.007756"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.967916" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:13.967637" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.970070" 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-08-18T20:12:13.968099" 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-08-18T20:12:13.972501" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.970281" elapsed="0.002290"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.970259" elapsed="0.002342"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:13.976630" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:13.976694" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:13.972811" elapsed="0.003914"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:13.979172" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:13.976849" elapsed="0.002378"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.976823" elapsed="0.002428"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:13.979285" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:13.979477" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:13.979520" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:13.958967" elapsed="0.020575"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:13.982602" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:13.980959" elapsed="0.001689"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:13.980918" elapsed="0.001755"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.983294" 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-08-18T20:12:13.982868" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.983846" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:13.983482" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:13.983921" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:13.984103" 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-08-18T20:12:13.979751" 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-08-18T20:12:13.984286" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:13.958396" elapsed="0.026333"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:13.992852" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:13.992536" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.009243" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.009447" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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-08-18T20:12:14.009786" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:13.993007" elapsed="0.016809"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.010222" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.009975" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.012452" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;4&lt;/second&gt;&lt;nanosecond&gt;560000000&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;3&lt;/second&gt;&lt;nanosecond&gt;225000000&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;4&lt;/second&gt;&lt;nanosecond&gt;591000000&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;4&lt;/second&gt;&lt;nanosecond&gt;629000000&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;4&lt;/second&gt;&lt;nanosecond&gt;661000000&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;4&lt;/second&gt;&lt;nanosecond&gt;703000000&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;3&lt;/second&gt;&lt;nanosecond&gt;255000000&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;3&lt;/second&gt;&lt;nanosecond&gt;300000000&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;4&lt;/second&gt;&lt;nanosecond&gt;744000000&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;3&lt;/second&gt;&lt;nanosecond&gt;338000000&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;4&lt;/second&gt;&lt;nanosecond&gt;782000000&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;3&lt;/second&gt;&lt;nanosecond&gt;371000000&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;4&lt;/second&gt;&lt;nanosecond&gt;814000000&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;3&lt;/second&gt;&lt;nanosecond&gt;408000000&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;4&lt;/second&gt;&lt;nanosecond&gt;857000000&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;3&lt;/second&gt;&lt;nanosecond&gt;444000000&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;4&lt;/second&gt;&lt;nanosecond&gt;893000000&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;4&lt;/second&gt;&lt;nanosecond&gt;935000000&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;3&lt;/second&gt;&lt;nanosecond&gt;934000000&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;4&lt;/second&gt;&lt;nanosecond&gt;232000000&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;10000000&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;4&lt;/second&gt;&lt;nanosecond&gt;269000000&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;110000000&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;4&lt;/second&gt;&lt;nanosecond&gt;310000000&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;144000000&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;4&lt;/second&gt;&lt;nanosecond&gt;339000000&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;4&lt;/second&gt;&lt;nanosecond&gt;370000000&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;4&lt;/second&gt;&lt;nanosecond&gt;407000000&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;4&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&lt;/second&gt;&lt;nanosecond&gt;188000000&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;4&lt;/second&gt;&lt;nanosecond&gt;482000000&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;4&lt;/second&gt;&lt;nanosecond&gt;511000000&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;3&lt;/second&gt;&lt;nanosecond&gt;552000000&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;3&lt;/second&gt;&lt;nanosecond&gt;601000000&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;4&lt;/second&gt;&lt;nanosecond&gt;81000000&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;3&lt;/second&gt;&lt;nanosecond&gt;640000000&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;2&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;677000000&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;3&lt;/second&gt;&lt;nanosecond&gt;713000000&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;3&lt;/second&gt;&lt;nanosecond&gt;750000000&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;3&lt;/second&gt;&lt;nanosecond&gt;786000000&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;2&lt;/second&gt;&lt;nanosecond&gt;904000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;823000000&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;2&lt;/second&gt;&lt;nanosecond&gt;935000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;120000000&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;3&lt;/second&gt;&lt;nanosecond&gt;860000000&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;2&lt;/second&gt;&lt;nanosecond&gt;971000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;4&lt;/second&gt;&lt;nanosecond&gt;158000000&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;3&lt;/second&gt;&lt;nanosecond&gt;897000000&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;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;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;4&lt;/second&gt;&lt;nanosecond&gt;193000000&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;10000000&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;3&lt;/second&gt;&lt;nanosecond&gt;973000000&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;6000000&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;30000000&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;3&lt;/second&gt;&lt;nanosecond&gt;518000000&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;3&lt;/second&gt;&lt;nanosecond&gt;484000000&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-08-18T20:12:14.010403" elapsed="0.003022"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.015233" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.013498" elapsed="0.001785"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.013479" elapsed="0.001826"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.042857" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.042904" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:14.015439" elapsed="0.027488"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.044679" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.043004" elapsed="0.001731"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.042985" elapsed="0.001777"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.044812" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:12:14.045011" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:14.045054" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:13.992156" elapsed="0.052921"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.047239" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.045669" elapsed="0.001615"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.045651" elapsed="0.001655"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.047868" 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-08-18T20:12:14.047450" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.048403" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.048055" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.048478" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.048656" 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-08-18T20:12:14.045340" elapsed="0.003341"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.048853" 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-08-18T20:12:13.991434" elapsed="0.057885"/>
</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-08-18T20:12:13.940769" elapsed="0.108607"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:13.934034" elapsed="0.115461"/>
</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-08-18T20:12:14.060398" 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-08-18T20:12:14.060549" 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-08-18T20:12:14.060264" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:14.061145" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf100&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:14.060725" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.061598" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:14.061321" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.062099" 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-08-18T20:12:14.061825" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.062534" 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-08-18T20:12:14.062269" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.063371" 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-08-18T20:12:14.062703" elapsed="0.000698"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.063891" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.063551" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.064438" 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-08-18T20:12:14.064120" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.064970" 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-08-18T20:12:14.064626" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.065465" 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-08-18T20:12:14.065158" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.066029" 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-08-18T20:12:14.065655" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.066542" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf100&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.066226" elapsed="0.000358"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:14.059941" elapsed="0.006697"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.067184" 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-08-18T20:12:14.066799" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.067597" 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-08-18T20:12:14.067360" 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-08-18T20:12:14.075494" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.075196" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.082297" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.082429" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:14.082536" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.075647" elapsed="0.006948"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.083157" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.082768" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.086140" 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-08-18T20:12:14.083415" elapsed="0.002851"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.088777" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.086364" elapsed="0.002500"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.086337" elapsed="0.002557"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.092683" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.092728" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:14.089083" elapsed="0.003671"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.094506" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.092842" elapsed="0.001719"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.092823" elapsed="0.001762"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.094618" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.094829" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:14.094873" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:14.074887" elapsed="0.020008"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.097005" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.095436" elapsed="0.001614"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.095419" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.097606" 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-08-18T20:12:14.097214" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.098154" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.097806" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.098229" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.098405" 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-08-18T20:12:14.095115" elapsed="0.003315"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.098581" 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-08-18T20:12:14.074326" elapsed="0.024725"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.106939" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.106625" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.119514" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.119980" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:14.120669" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.107090" elapsed="0.013639"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.121673" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.121116" elapsed="0.000691"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.126693" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:14.122124" elapsed="0.006774"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.130763" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.129046" elapsed="0.001780"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.129023" elapsed="0.001825"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.157330" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.157377" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:14.130988" elapsed="0.026415"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.159188" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.157494" elapsed="0.001750"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.157475" elapsed="0.001793"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.159301" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.159494" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:14.159537" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:14.106258" elapsed="0.053301"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.161728" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.160143" elapsed="0.001644"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.160125" elapsed="0.001685"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.162359" 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-08-18T20:12:14.161960" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.162908" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.162544" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.162983" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.163160" 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-08-18T20:12:14.159774" elapsed="0.003411"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.163338" 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-08-18T20:12:14.105635" elapsed="0.058166"/>
</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-08-18T20:12:14.056687" elapsed="0.107173"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:14.049919" elapsed="0.114056"/>
</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-08-18T20:12:14.174672" 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-08-18T20:12:14.174829" 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-08-18T20:12:14.174537" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:14.175420" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7dd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:14.175007" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.175888" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:14.175595" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.176324" 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-08-18T20:12:14.176061" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.176761" 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-08-18T20:12:14.176495" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.177584" 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-08-18T20:12:14.176949" elapsed="0.000665"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.178104" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.177769" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.178691" 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-08-18T20:12:14.178374" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.179226" 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-08-18T20:12:14.178903" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.179721" 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-08-18T20:12:14.179415" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.180249" 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-08-18T20:12:14.179932" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.180756" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7dd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.180441" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:14.174215" elapsed="0.006654"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.181390" 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-08-18T20:12:14.181019" elapsed="0.000401"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.181816" 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-08-18T20:12:14.181565" 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-08-18T20:12:14.189699" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.189403" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.196536" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.196716" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:14.196895" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.189869" elapsed="0.007062"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.197495" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.197148" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.200538" 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-08-18T20:12:14.197754" elapsed="0.002907"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.203250" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.200765" elapsed="0.002554"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.200732" elapsed="0.002618"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.207309" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.207372" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:14.203538" elapsed="0.003865"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.209861" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.207505" elapsed="0.002434"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.207479" elapsed="0.002494"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.210020" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:14.210286" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:14.210346" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:14.189095" elapsed="0.021281"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.213020" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.211139" elapsed="0.001926"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.211115" elapsed="0.001972"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.213620" 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-08-18T20:12:14.213229" elapsed="0.000416"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.214165" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.213819" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.214239" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.214413" 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-08-18T20:12:14.210664" elapsed="0.003774"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.214589" 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-08-18T20:12:14.188532" elapsed="0.026521"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.222935" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.222617" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.238278" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.238695" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:14.239378" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.223089" elapsed="0.016349"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.240451" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.239834" elapsed="0.000722"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.245304" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:14.240907" elapsed="0.005732"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.249168" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.246740" elapsed="0.002496"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.246714" elapsed="0.002552"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.276530" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.276577" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:14.249454" elapsed="0.027146"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.278392" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.276677" elapsed="0.001771"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.276659" elapsed="0.001813"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.278505" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:14.278699" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:14.278746" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:14.222249" elapsed="0.056519"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.280885" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.279324" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.279307" elapsed="0.001644"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.281489" 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-08-18T20:12:14.281094" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.282060" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.281692" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.282136" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.282312" 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-08-18T20:12:14.278997" elapsed="0.003340"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.282490" 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-08-18T20:12:14.221623" elapsed="0.061331"/>
</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-08-18T20:12:14.171007" elapsed="0.112003"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:14.164226" elapsed="0.118898"/>
</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-08-18T20:12:14.293862" 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-08-18T20:12:14.293994" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.293709" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:14.294579" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5c10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:14.294196" elapsed="0.000411"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.295046" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:14.294758" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.295480" 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-08-18T20:12:14.295217" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.295931" 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-08-18T20:12:14.295650" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.296670" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.296102" elapsed="0.000598"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.297193" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.296870" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.297741" 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-08-18T20:12:14.297422" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.298292" 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-08-18T20:12:14.297950" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.298808" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.298482" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.299312" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.299001" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.299838" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5c10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.299503" 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-08-18T20:12:14.293387" elapsed="0.006547"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.300453" 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-08-18T20:12:14.300079" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.300882" 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-08-18T20:12:14.300629" 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-08-18T20:12:14.308702" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.308404" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.314876" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.315005" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:14.315106" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.308877" elapsed="0.006254"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.315536" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.315289" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.317676" 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-08-18T20:12:14.315720" elapsed="0.002052"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.319577" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.317858" elapsed="0.001769"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.317838" elapsed="0.001811"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.323681" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.323744" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:14.319799" elapsed="0.003999"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.326216" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.323900" elapsed="0.002392"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.323875" elapsed="0.002450"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.326372" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:14.326637" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:14.326697" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:14.308093" elapsed="0.018635"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.329282" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.327537" elapsed="0.001790"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.327512" elapsed="0.001836"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.329900" 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-08-18T20:12:14.329490" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.330425" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.330082" elapsed="0.000369"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.330500" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.330676" 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-08-18T20:12:14.327045" elapsed="0.003655"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.330867" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:14.307529" elapsed="0.023778"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.339189" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.338891" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.355410" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.355686" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:14.356133" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.339347" elapsed="0.016824"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.356837" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.356450" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.359919" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:14.357096" elapsed="0.004220"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.363841" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.361420" elapsed="0.002495"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.361391" elapsed="0.002556"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.393610" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.393671" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:14.364135" elapsed="0.029567"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.395590" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.393824" elapsed="0.001823"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.393798" elapsed="0.001873"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.395706" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:12:14.395961" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:14.396004" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:14.338496" elapsed="0.057530"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.398328" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.396708" elapsed="0.001666"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.396690" elapsed="0.001705"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.398984" 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-08-18T20:12:14.398544" elapsed="0.000468"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.399521" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.399171" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.399596" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:14.399791" 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-08-18T20:12:14.396330" elapsed="0.003488"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.399974" 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-08-18T20:12:14.337893" elapsed="0.062539"/>
</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-08-18T20:12:14.290192" elapsed="0.110296"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:14.283360" elapsed="0.117252"/>
</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-08-18T20:12:14.411341" 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-08-18T20:12:14.411491" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.411201" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:14.412081" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3c5e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:14.411668" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.412537" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:14.412258" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.413004" 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-08-18T20:12:14.412715" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.413440" 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-08-18T20:12:14.413176" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.414232" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.413611" elapsed="0.000655"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.414750" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.414423" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.415329" 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-08-18T20:12:14.415007" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.415860" 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-08-18T20:12:14.415520" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.416356" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.416048" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.416881" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.416547" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.417390" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3c5e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.417076" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:14.410875" elapsed="0.006609"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.418023" 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-08-18T20:12:14.417628" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.418463" 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-08-18T20:12:14.418202" 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-08-18T20:12:14.426278" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.425970" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.432457" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.432651" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:14.432826" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.426433" elapsed="0.006430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.433438" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.433088" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.436450" 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-08-18T20:12:14.433692" elapsed="0.002880"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.439199" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.436673" elapsed="0.002595"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.436645" elapsed="0.002654"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.442356" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.442401" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:14.439488" elapsed="0.002935"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.444202" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.442495" elapsed="0.001763"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.442476" elapsed="0.001806"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.444316" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.444507" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:14.444550" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:14.425638" elapsed="0.018934"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.446678" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.445124" elapsed="0.001599"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.445107" elapsed="0.001641"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.447345" 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-08-18T20:12:14.446906" elapsed="0.000471"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.447905" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.447537" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.447980" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.448155" 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-08-18T20:12:14.444795" elapsed="0.003384"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.448331" 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-08-18T20:12:14.425083" elapsed="0.023713"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.456621" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.456324" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.472658" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.473137" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:14.473819" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.456793" elapsed="0.017089"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.474823" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.474232" elapsed="0.000695"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.479819" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:14.475242" elapsed="0.006558"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.484284" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.481902" elapsed="0.002450"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.481875" elapsed="0.002507"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.512022" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.512068" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:14.484585" elapsed="0.027505"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.513920" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.512169" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.512150" elapsed="0.001852"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.514036" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.514229" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:14.514272" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:14.455956" elapsed="0.058338"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.516404" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.514852" elapsed="0.001597"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.514834" elapsed="0.001636"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.517036" 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-08-18T20:12:14.516614" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.517579" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.517224" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.517654" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:12:14.517878" 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-08-18T20:12:14.514507" elapsed="0.003397"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.518057" 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-08-18T20:12:14.455306" elapsed="0.063198"/>
</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-08-18T20:12:14.407643" elapsed="0.110916"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:14.400830" elapsed="0.117843"/>
</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-08-18T20:12:14.529411" 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-08-18T20:12:14.529542" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.529275" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:14.530164" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2ca0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:14.529717" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.530623" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:14.530348" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.531078" 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-08-18T20:12:14.530811" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.531511" 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-08-18T20:12:14.531249" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.532257" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.531680" elapsed="0.000608"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.532770" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.532445" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.533335" 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-08-18T20:12:14.533019" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.533863" 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-08-18T20:12:14.533523" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.534402" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.534058" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.534927" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.534597" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.535436" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2ca0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.535123" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:14.528954" elapsed="0.006576"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.536068" 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-08-18T20:12:14.535673" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.536480" 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-08-18T20:12:14.536245" elapsed="0.000292"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.544302" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.544007" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.550642" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.550790" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:14.550940" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.544454" elapsed="0.006515"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.551374" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.551126" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.553526" 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-08-18T20:12:14.551556" elapsed="0.002058"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.555428" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.553685" elapsed="0.001792"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.553665" elapsed="0.001834"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.559133" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.559197" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:14.555634" elapsed="0.003595"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.561665" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.559330" elapsed="0.002416"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.559304" elapsed="0.002491"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.561845" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:14.562110" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:14.562170" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:14.543682" 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-08-18T20:12:14.564907" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.562962" elapsed="0.001990"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.562937" elapsed="0.002036"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.565509" 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-08-18T20:12:14.565115" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.566072" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.565693" elapsed="0.000405"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.566148" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.566325" 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-08-18T20:12:14.562486" elapsed="0.003864"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.566509" 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-08-18T20:12:14.543135" elapsed="0.023837"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.574838" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.574524" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.590599" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.591058" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:14.591694" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.574992" elapsed="0.016767"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.592725" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.592142" elapsed="0.000718"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.597495" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:14.593174" elapsed="0.005812"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.601560" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.599086" elapsed="0.002542"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.599059" elapsed="0.002599"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.628885" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.628936" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:14.601867" elapsed="0.027093"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.630767" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.629040" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.629021" elapsed="0.001862"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.630917" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:14.631117" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:14.631160" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:14.574157" elapsed="0.057024"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.633299" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.631730" elapsed="0.001614"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.631712" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.633945" 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-08-18T20:12:14.633509" elapsed="0.000463"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.634476" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.634130" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.634550" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.634726" 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-08-18T20:12:14.631401" elapsed="0.003354"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.634925" 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-08-18T20:12:14.573537" elapsed="0.061840"/>
</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-08-18T20:12:14.525721" elapsed="0.109711"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:14.518957" elapsed="0.116590"/>
</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-08-18T20:12:14.646324" 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-08-18T20:12:14.646469" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.646177" elapsed="0.000320"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:14.647079" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853897b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:14.646646" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.647529" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:14.647255" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.647989" 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-08-18T20:12:14.647701" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.648426" 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-08-18T20:12:14.648163" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.649308" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.648597" elapsed="0.000742"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.649836" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.649495" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.650419" 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-08-18T20:12:14.650069" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.650956" 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-08-18T20:12:14.650610" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.651457" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.651148" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.651998" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.651650" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.652507" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853897b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.652192" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:14.645811" elapsed="0.006789"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.653144" 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-08-18T20:12:14.652750" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.653566" 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-08-18T20:12:14.653328" 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-08-18T20:12:14.661358" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.661056" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.668895" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.669035" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:14.669141" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.661512" elapsed="0.007654"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.669571" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.669323" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.671817" 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-08-18T20:12:14.669802" elapsed="0.002077"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.674408" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.671966" elapsed="0.002509"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.671937" elapsed="0.002569"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.678851" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.678916" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:14.674695" elapsed="0.004252"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.681080" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.679049" elapsed="0.002085"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.679024" elapsed="0.002134"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.681192" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.681382" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:14.681424" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:14.660728" elapsed="0.020718"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.683714" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.681992" elapsed="0.001767"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.681974" elapsed="0.001822"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.684334" 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-08-18T20:12:14.683941" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.684879" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.684516" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.684953" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:14.685127" 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-08-18T20:12:14.681651" elapsed="0.003500"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.685303" elapsed="0.000377"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:14.660180" elapsed="0.025566"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.693446" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.693153" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.709275" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.709703" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:14.710498" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.693597" elapsed="0.016962"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.711536" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.710958" elapsed="0.000679"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.715183" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:14.711986" elapsed="0.004758"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.719268" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.716866" elapsed="0.002470"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.716838" elapsed="0.002528"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.793178" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.793241" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:14.719556" elapsed="0.073709"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.795236" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.793388" elapsed="0.001910"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.793356" elapsed="0.001969"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.795363" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:14.795583" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:14.795626" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:14.692772" elapsed="0.102876"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.797860" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.796286" elapsed="0.001620"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.796267" elapsed="0.001661"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.798532" 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-08-18T20:12:14.798077" elapsed="0.000483"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.799089" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.798718" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.799164" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:14.799358" 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-08-18T20:12:14.795922" 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-08-18T20:12:14.799539" 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-08-18T20:12:14.692166" elapsed="0.107860"/>
</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-08-18T20:12:14.642592" elapsed="0.157493"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:14.635834" elapsed="0.164376"/>
</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-08-18T20:12:14.811001" 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-08-18T20:12:14.811269" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.810854" elapsed="0.000445"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:14.811930" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:14.811448" elapsed="0.000512"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.812390" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:14.812110" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.812850" 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-08-18T20:12:14.812564" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.813285" 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-08-18T20:12:14.813022" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.814327" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.813455" elapsed="0.000903"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.814859" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.814511" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.815441" 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-08-18T20:12:14.815119" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.815993" 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-08-18T20:12:14.815631" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.816493" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.816183" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.817021" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.816685" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.817524" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.817211" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:14.810511" elapsed="0.007109"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.818160" 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-08-18T20:12:14.817768" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.818575" 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-08-18T20:12:14.818336" 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-08-18T20:12:14.826162" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.825856" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.833785" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.833965" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:14.834073" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.826315" elapsed="0.007783"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.834506" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.834256" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.836729" 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-08-18T20:12:14.834724" 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-08-18T20:12:14.839301" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.836876" elapsed="0.002493"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.836857" elapsed="0.002543"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.843751" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.843835" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:14.839589" elapsed="0.004279"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.846427" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.843970" elapsed="0.002512"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.843945" elapsed="0.002561"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.846540" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.846733" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:14.846792" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:14.825533" elapsed="0.021282"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.848911" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.847348" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.847330" elapsed="0.001667"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.849534" 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-08-18T20:12:14.849140" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.850084" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.849717" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.850158" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.850334" 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-08-18T20:12:14.847022" elapsed="0.003337"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.850511" 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-08-18T20:12:14.824991" elapsed="0.025982"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.858640" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.858345" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.873520" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.873823" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:14.874244" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.858806" elapsed="0.015475"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.874879" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.874500" elapsed="0.000443"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.877950" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:14.875138" elapsed="0.004160"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.881807" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.879397" elapsed="0.002481"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.879371" elapsed="0.002538"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.908837" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.908885" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:14.882097" elapsed="0.026810"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.910664" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.908984" elapsed="0.001736"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.908966" elapsed="0.001781"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.910794" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:14.910990" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:14.911033" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:14.857978" elapsed="0.053077"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.913197" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.911620" elapsed="0.001622"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.911602" elapsed="0.001661"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.913821" 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-08-18T20:12:14.913405" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.914355" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.914007" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.914428" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:14.914605" 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-08-18T20:12:14.911293" elapsed="0.003336"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.914798" 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-08-18T20:12:14.857356" elapsed="0.057909"/>
</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-08-18T20:12:14.807299" elapsed="0.108023"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:14.800541" elapsed="0.114893"/>
</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-08-18T20:12:14.926177" 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-08-18T20:12:14.926307" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.926040" elapsed="0.000296"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:14.926908" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3fd80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:14.926484" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.927360" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:14.927085" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.927843" 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-08-18T20:12:14.927534" elapsed="0.000335"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:14.928281" 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-08-18T20:12:14.928018" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.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;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-08-18T20:12:14.928452" elapsed="0.000896"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.929847" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.929503" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.930397" 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-08-18T20:12:14.930077" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.930929" 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-08-18T20:12:14.930588" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.931427" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:14.931119" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.931963" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:14.931617" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.932472" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3fd80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:14.932156" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:14.925700" elapsed="0.006867"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.933109" 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-08-18T20:12:14.932713" elapsed="0.000427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.933525" 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-08-18T20:12:14.933287" 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-08-18T20:12:14.941162" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.940863" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.946938" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.947071" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:14.947177" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.941315" elapsed="0.005887"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.947604" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.947357" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.949814" 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-08-18T20:12:14.947842" 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-08-18T20:12:14.951649" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.949944" elapsed="0.001755"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.949925" elapsed="0.001796"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:14.955748" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:14.955833" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:14.951871" elapsed="0.003994"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:14.958576" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:14.955968" elapsed="0.002686"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.955943" elapsed="0.002744"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:14.958734" elapsed="0.000062"/>
</return>
<msg time="2026-08-18T20:12:14.959034" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:14.959093" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:14.940541" elapsed="0.018583"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.962167" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.959890" elapsed="0.002324"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.959865" elapsed="0.002371"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.962793" 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-08-18T20:12:14.962378" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.963334" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:14.962984" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:14.963410" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:14.963587" 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-08-18T20:12:14.959410" elapsed="0.004202"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:14.963768" 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-08-18T20:12:14.939986" elapsed="0.024238"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.971945" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:14.971612" elapsed="0.000363"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:14.985902" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:14.986329" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:14.986998" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:14.972102" elapsed="0.014955"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.988006" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:14.987412" elapsed="0.000700"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:14.993019" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:14.988428" elapsed="0.006724"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:14.996996" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:14.995228" elapsed="0.001818"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:14.995209" elapsed="0.001859"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.027804" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.027853" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:14.997205" elapsed="0.030671"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.029691" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.027955" elapsed="0.001797"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.027937" elapsed="0.001851"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.029825" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.030021" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:15.030064" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:14.971249" elapsed="0.058838"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.032414" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.030695" elapsed="0.001765"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.030674" elapsed="0.001808"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.033048" 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-08-18T20:12:15.032629" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.033587" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.033240" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.033663" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:15.033862" 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-08-18T20:12:15.030320" elapsed="0.003568"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.034043" 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-08-18T20:12:14.970629" elapsed="0.063862"/>
</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-08-18T20:12:14.922490" elapsed="0.112058"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:14.915720" elapsed="0.118942"/>
</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-08-18T20:12:15.045680" 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-08-18T20:12:15.045828" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:15.045544" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:15.046387" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a36f70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:15.046008" elapsed="0.000407"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.046863" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:15.046564" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.047306" 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-08-18T20:12:15.047039" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.047750" 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-08-18T20:12:15.047480" elapsed="0.000325"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.048494" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:15.047956" elapsed="0.000569"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.049022" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.048679" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.049572" 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-08-18T20:12:15.049254" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.050106" 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-08-18T20:12:15.049768" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.050606" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:15.050297" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.051136" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:15.050815" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.051645" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a36f70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.051330" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:15.045220" elapsed="0.006521"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.052309" 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-08-18T20:12:15.051928" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.052724" 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-08-18T20:12:15.052488" 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-08-18T20:12:15.060737" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.060438" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.079493" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.079811" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:15.080046" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.060911" elapsed="0.019192"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.081087" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.080459" elapsed="0.000729"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.086026" 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-08-18T20:12:15.081504" elapsed="0.004645"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.090234" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.086373" elapsed="0.003912"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.086329" elapsed="0.003978"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.092999" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.093046" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:15.090444" elapsed="0.002624"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.094883" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.093141" elapsed="0.001801"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.093123" elapsed="0.001846"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.095003" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.095196" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:15.095239" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:15.060101" elapsed="0.035161"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.097412" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.095812" elapsed="0.001670"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.095793" elapsed="0.001713"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.098064" 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-08-18T20:12:15.097650" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.098595" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.098250" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.098671" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.098868" 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-08-18T20:12:15.095467" 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-08-18T20:12:15.099048" 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-08-18T20:12:15.059534" elapsed="0.039960"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.107659" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.107362" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.125392" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.125865" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:15.126545" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.107835" elapsed="0.018771"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.127557" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.126998" elapsed="0.000658"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.132014" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:15.128005" elapsed="0.005335"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.135873" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.133438" elapsed="0.002504"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.133412" elapsed="0.002560"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.165469" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.165516" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:15.136165" elapsed="0.029374"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.167359" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.165615" elapsed="0.001801"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.165596" elapsed="0.001845"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.167475" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.167670" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:15.167713" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:15.106987" elapsed="0.060748"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.169874" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.168307" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.168289" elapsed="0.001652"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.170480" 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-08-18T20:12:15.170084" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.171038" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.170665" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.171112" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.171288" 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-08-18T20:12:15.167980" elapsed="0.003333"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.171465" 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-08-18T20:12:15.106357" elapsed="0.065568"/>
</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-08-18T20:12:15.041904" elapsed="0.130081"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:15.034934" elapsed="0.137190"/>
</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-08-18T20:12:15.182749" 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-08-18T20:12:15.182892" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:15.182611" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:15.183475" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5d00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:15.183069" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.183942" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:15.183649" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.184382" 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-08-18T20:12:15.184115" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.184852" 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-08-18T20:12:15.184568" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.185745" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:15.185023" elapsed="0.000765"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.186262" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.185942" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.186823" 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-08-18T20:12:15.186488" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.187335" 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-08-18T20:12:15.187013" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.187851" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:15.187524" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.188354" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:15.188042" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.190858" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5d00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.188568" elapsed="0.002335"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:15.182287" elapsed="0.008672"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.191492" 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-08-18T20:12:15.191109" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.191931" 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-08-18T20:12:15.191670" 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-08-18T20:12:15.199565" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.199270" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.204024" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.204156" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:15.204272" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.199715" elapsed="0.004582"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.204735" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.204484" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.207331" 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-08-18T20:12:15.204945" elapsed="0.002470"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.209950" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.207512" elapsed="0.002507"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.207485" elapsed="0.002565"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.214403" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.214448" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:15.210240" elapsed="0.004230"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.216213" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.214543" elapsed="0.001725"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.214525" elapsed="0.001766"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.216324" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.216516" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:15.216559" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:15.198954" elapsed="0.017627"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.218870" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.217127" elapsed="0.001788"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.217110" elapsed="0.001828"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.219477" 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-08-18T20:12:15.219082" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.220035" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.219662" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.220110" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.220286" 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-08-18T20:12:15.216803" 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-08-18T20:12:15.220462" 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-08-18T20:12:15.198391" elapsed="0.022533"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.228687" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.228362" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.239098" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.239284" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:15.239578" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.228859" elapsed="0.010746"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.240193" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.239783" elapsed="0.000510"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.245306" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:15.240604" elapsed="0.006854"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.251369" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.247621" elapsed="0.003798"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.247578" elapsed="0.003864"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.280049" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.280098" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:15.251577" elapsed="0.028545"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.281970" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.280203" elapsed="0.001824"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.280184" elapsed="0.001868"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.282087" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.282283" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:15.282326" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:15.227928" elapsed="0.054420"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.284539" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.282918" elapsed="0.001666"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.282900" elapsed="0.001707"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.285175" 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-08-18T20:12:15.284755" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.285707" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.285360" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.285800" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:15.285983" 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-08-18T20:12:15.282567" 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-08-18T20:12:15.286163" 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-08-18T20:12:15.227305" elapsed="0.059306"/>
</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-08-18T20:12:15.179075" elapsed="0.107592"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:15.172368" elapsed="0.114432"/>
</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-08-18T20:12:15.297803" 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-08-18T20:12:15.297944" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:15.297650" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:15.298508" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7b00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:15.298121" elapsed="0.000415"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.298979" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:15.298683" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.299416" 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-08-18T20:12:15.299153" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.299899" 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-08-18T20:12:15.299587" elapsed="0.000340"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.300690" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:15.300075" elapsed="0.000646"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.301222" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.300895" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.301789" 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-08-18T20:12:15.301454" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.302303" 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-08-18T20:12:15.301982" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.302818" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:15.302492" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.303325" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:15.303012" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.303853" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7b00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.303517" 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-08-18T20:12:15.297326" elapsed="0.006628"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.304497" 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-08-18T20:12:15.304122" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.304933" 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-08-18T20:12:15.304674" 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-08-18T20:12:15.312930" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.312611" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.319261" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.319457" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:15.319600" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.313084" elapsed="0.006551"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.320235" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.319884" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.323221" 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-08-18T20:12:15.320509" elapsed="0.002833"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.325872" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.323439" elapsed="0.002502"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.323413" elapsed="0.002558"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.329674" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.329719" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:15.326160" elapsed="0.003585"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.331478" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.329831" elapsed="0.001702"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.329812" elapsed="0.001744"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.331590" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.331798" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:15.331843" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:15.312299" elapsed="0.019567"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.334041" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.332401" elapsed="0.001685"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.332384" elapsed="0.001724"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.334643" 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-08-18T20:12:15.334251" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.335194" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.334849" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.335269" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.335444" 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-08-18T20:12:15.332078" elapsed="0.003391"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.335620" 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-08-18T20:12:15.311714" elapsed="0.024366"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.345861" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.345546" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.356051" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.356532" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:15.357251" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.346016" elapsed="0.011296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.358363" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.357693" elapsed="0.000789"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.363552" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:15.358937" elapsed="0.006754"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.368350" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.366006" elapsed="0.002394"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.365946" elapsed="0.002477"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.394442" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.394489" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:15.368559" elapsed="0.025953"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.396306" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.394589" elapsed="0.001773"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.394570" elapsed="0.001816"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.396420" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:15.396615" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:15.396658" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:15.345143" elapsed="0.051537"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.398839" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.397246" elapsed="0.001640"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.397228" elapsed="0.001680"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.399456" 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-08-18T20:12:15.399053" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.400010" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.399643" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.400086" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.400262" 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-08-18T20:12:15.396917" elapsed="0.003370"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.400441" 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-08-18T20:12:15.344518" elapsed="0.056388"/>
</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-08-18T20:12:15.294020" elapsed="0.106943"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:15.287065" elapsed="0.114014"/>
</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-08-18T20:12:15.411728" 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-08-18T20:12:15.411886" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:15.411587" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:15.412454" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4bd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:15.412064" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.412925" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:15.412631" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.413360" 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-08-18T20:12:15.413098" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.413811" 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-08-18T20:12:15.413531" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.414577" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:15.413984" elapsed="0.000623"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.415100" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.414763" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.415675" 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-08-18T20:12:15.415352" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.416203" 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-08-18T20:12:15.415882" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.416699" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:15.416391" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.417227" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:15.416908" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.417731" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4bd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.417419" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:15.411253" elapsed="0.006596"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.418369" 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-08-18T20:12:15.417995" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.418797" 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-08-18T20:12:15.418546" 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-08-18T20:12:15.426936" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.426614" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.430976" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.431105" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:15.431210" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.427093" elapsed="0.004142"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.431641" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.431392" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.434312" 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-08-18T20:12:15.431877" elapsed="0.002654"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.437170" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.434634" elapsed="0.002607"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.434608" elapsed="0.002664"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.441185" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.441232" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:15.437463" elapsed="0.003791"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.442999" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.441327" elapsed="0.001728"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.441309" elapsed="0.001769"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.443113" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:15.443305" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:15.443348" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:15.426297" elapsed="0.017073"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.445500" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.443923" elapsed="0.001623"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.443905" elapsed="0.001663"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.446125" 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-08-18T20:12:15.445710" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.446656" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.446309" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.446730" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:12:15.446925" 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-08-18T20:12:15.443576" elapsed="0.003375"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.447102" 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-08-18T20:12:15.425707" elapsed="0.021838"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.455420" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.455125" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.472777" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.472968" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:15.473277" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.455574" elapsed="0.017729"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.473715" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.473462" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.475920" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:15.473919" elapsed="0.002957"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.478674" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.476948" elapsed="0.001776"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.476929" elapsed="0.001820"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.509597" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.509644" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:15.478898" elapsed="0.030769"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.511437" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.509747" elapsed="0.001746"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.509725" elapsed="0.001792"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.511550" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:15.511745" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:15.511802" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:15.454736" elapsed="0.057090"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.513947" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.512362" elapsed="0.001630"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.512344" elapsed="0.001669"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.514587" 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-08-18T20:12:15.514157" elapsed="0.000457"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.515144" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.514788" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.515218" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:15.515395" 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-08-18T20:12:15.512037" elapsed="0.003382"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.515570" 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-08-18T20:12:15.454128" elapsed="0.061901"/>
</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-08-18T20:12:15.408015" elapsed="0.108070"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:15.401256" elapsed="0.114939"/>
</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-08-18T20:12:15.526892" 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-08-18T20:12:15.527023" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:15.526740" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:15.527582" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7a60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:15.527198" elapsed="0.000412"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.528046" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:15.527758" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.528479" 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-08-18T20:12:15.528216" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.528928" 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-08-18T20:12:15.528648" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.529695" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:15.529099" elapsed="0.000626"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.530213" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.529891" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.530800" 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-08-18T20:12:15.530442" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.531314" 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-08-18T20:12:15.530993" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.531824" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:15.531500" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.532326" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:15.532016" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.532845" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7a60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.532516" 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-08-18T20:12:15.526403" elapsed="0.006537"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.533460" 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-08-18T20:12:15.533085" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.533896" 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-08-18T20:12:15.533634" 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-08-18T20:12:15.544829" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.544358" elapsed="0.000513"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.551051" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.551237" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:15.551431" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.545061" elapsed="0.006409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.552097" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.551701" elapsed="0.000462"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.555321" 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-08-18T20:12:15.552368" 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-08-18T20:12:15.558184" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.555589" elapsed="0.002668"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.555561" elapsed="0.002730"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.561670" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.561716" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:15.558490" elapsed="0.003248"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.563511" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.561838" elapsed="0.001730"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.561819" elapsed="0.001773"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.563627" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.563874" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:15.563919" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:15.543869" elapsed="0.020073"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.566058" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.564484" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.564466" elapsed="0.001658"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.566664" 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-08-18T20:12:15.566267" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.567217" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.566868" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.567292" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.567468" 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-08-18T20:12:15.564155" elapsed="0.003338"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.567644" 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-08-18T20:12:15.542494" elapsed="0.025690"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.576032" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.575717" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.590551" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.591001" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:15.591648" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.576211" elapsed="0.015496"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.592691" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.592089" elapsed="0.000733"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.596076" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:15.593063" elapsed="0.004462"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.600229" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.597631" elapsed="0.002670"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.597603" elapsed="0.002730"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.630929" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.630977" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:15.600533" elapsed="0.030467"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.632757" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.631078" elapsed="0.001749"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.631059" elapsed="0.001792"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.632885" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.633079" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:15.633122" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:15.575347" elapsed="0.057797"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.635270" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.633681" elapsed="0.001634"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.633664" elapsed="0.001673"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.635898" 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-08-18T20:12:15.635479" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.636430" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.636083" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.636504" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.636679" 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-08-18T20:12:15.633357" elapsed="0.003347"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.636875" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:15.574724" elapsed="0.062595"/>
</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-08-18T20:12:15.523207" elapsed="0.114169"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:15.516454" elapsed="0.121036"/>
</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-08-18T20:12:15.648303" 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-08-18T20:12:15.648437" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:15.648168" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:15.649023" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912570&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:15.648612" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.649468" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:15.649196" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.649920" 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-08-18T20:12:15.649638" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.650387" 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-08-18T20:12:15.650090" elapsed="0.000324"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.651224" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:15.650559" elapsed="0.000695"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.651726" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.651406" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.652293" 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-08-18T20:12:15.651974" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.652825" 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-08-18T20:12:15.652482" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.653322" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:15.653016" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.653839" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:15.653512" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.654341" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912570&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.654031" elapsed="0.000350"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:15.647844" elapsed="0.006611"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.654991" 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-08-18T20:12:15.654602" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.655401" 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-08-18T20:12:15.655166" elapsed="0.000294"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.663208" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.662914" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.669024" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.669209" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:15.669361" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.663358" elapsed="0.006039"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.670023" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.669627" elapsed="0.000461"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.673220" 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-08-18T20:12:15.670292" elapsed="0.003061"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.676076" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.673455" elapsed="0.002693"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.673427" elapsed="0.002753"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.680459" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.680527" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:15.676379" elapsed="0.004181"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.683157" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.680667" elapsed="0.002570"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.680641" elapsed="0.002630"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.683364" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:12:15.683650" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:15.683714" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:15.662555" elapsed="0.021192"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.685926" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.684357" elapsed="0.001614"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.684340" elapsed="0.001652"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.686524" 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-08-18T20:12:15.686134" elapsed="0.000416"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.687069" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.686706" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.687143" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.687317" 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-08-18T20:12:15.684033" elapsed="0.003309"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.687509" 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-08-18T20:12:15.662001" elapsed="0.025964"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.695826" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.695488" elapsed="0.000367"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.710447" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.710926" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:15.711576" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.695982" elapsed="0.015654"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.712641" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.712028" elapsed="0.000713"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.717417" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:15.713084" elapsed="0.005758"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.721538" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.718949" elapsed="0.002661"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.718921" elapsed="0.002722"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.752697" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.752746" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:15.721869" elapsed="0.030913"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.754549" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.752863" elapsed="0.001741"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.752844" elapsed="0.001784"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.754661" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.754873" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:15.754916" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:15.695117" elapsed="0.059821"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.757043" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.755479" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.755461" elapsed="0.001649"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.757680" 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-08-18T20:12:15.757252" elapsed="0.000455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.758234" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.757884" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.758309" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.758485" 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-08-18T20:12:15.755152" elapsed="0.003357"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.758661" 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-08-18T20:12:15.694495" elapsed="0.064633"/>
</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-08-18T20:12:15.644495" elapsed="0.114689"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:15.637745" elapsed="0.121552"/>
</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-08-18T20:12:15.770019" 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-08-18T20:12:15.770152" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:15.769865" elapsed="0.000316"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:15.770709" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570ff10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:15.770328" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.771178" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:15.770903" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.771614" 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-08-18T20:12:15.771350" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.772067" 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-08-18T20:12:15.771801" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.772851" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:15.772238" elapsed="0.000643"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.773356" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.773033" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.773918" 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-08-18T20:12:15.773583" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.774455" 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-08-18T20:12:15.774132" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.774973" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:15.774642" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.775475" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:15.775165" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.775998" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570ff10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.775664" 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-08-18T20:12:15.769528" elapsed="0.006566"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.776611" 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-08-18T20:12:15.776237" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.777040" 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-08-18T20:12:15.776802" 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-08-18T20:12:15.784851" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.784537" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.790835" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.790981" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:15.791159" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.785006" elapsed="0.006191"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.791765" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.791414" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.794888" 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-08-18T20:12:15.792044" elapsed="0.002978"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.797701" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.795127" elapsed="0.002668"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.795098" elapsed="0.002732"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.800957" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.801006" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:15.798032" elapsed="0.002999"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.802764" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.801103" elapsed="0.001729"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.801085" elapsed="0.001771"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.802904" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:15.803101" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:15.803145" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:15.784230" elapsed="0.018937"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.805269" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.803699" elapsed="0.001615"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.803682" elapsed="0.001654"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.805888" 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-08-18T20:12:15.805477" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.806412" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.806069" elapsed="0.000368"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.806486" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.806660" 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-08-18T20:12:15.803375" elapsed="0.003309"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.806852" 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-08-18T20:12:15.783672" elapsed="0.023660"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.815168" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.814873" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.829948" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.830364" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:15.831046" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.815348" elapsed="0.015759"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.832112" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.831458" elapsed="0.000756"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.837110" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:15.832527" elapsed="0.006722"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.842116" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.839408" elapsed="0.002756"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.839366" elapsed="0.002820"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.867265" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.867312" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:15.842320" elapsed="0.025015"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.869111" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.867412" elapsed="0.001755"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.867393" elapsed="0.001798"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.869225" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.869419" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:15.869462" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:15.814491" elapsed="0.054994"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.871594" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.870047" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.870029" elapsed="0.001632"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.872218" 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-08-18T20:12:15.871820" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.872757" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.872405" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.872847" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:15.873056" 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-08-18T20:12:15.869698" elapsed="0.003384"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.873238" 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-08-18T20:12:15.813883" elapsed="0.059804"/>
</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-08-18T20:12:15.766337" elapsed="0.107408"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:15.759549" elapsed="0.114334"/>
</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-08-18T20:12:15.884579" 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-08-18T20:12:15.884715" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:15.884442" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:15.885317" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2390&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:15.884910" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.885802" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:15.885511" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.886241" 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-08-18T20:12:15.885976" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:15.886674" 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-08-18T20:12:15.886411" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.887559" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:15.886861" elapsed="0.000728"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.888085" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.887740" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.888631" 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-08-18T20:12:15.888314" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.889160" 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-08-18T20:12:15.888837" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.889697" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:15.889348" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.890219" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:15.889905" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.890721" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2390&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:15.890409" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:15.884119" elapsed="0.006715"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.891355" 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-08-18T20:12:15.890980" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.891947" 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-08-18T20:12:15.891531" 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-08-18T20:12:15.899558" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.899258" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.905051" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.905183" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:15.905289" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.899713" elapsed="0.005602"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.905762" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.905506" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.908374" 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-08-18T20:12:15.906011" elapsed="0.002449"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.911011" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.908558" elapsed="0.002522"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.908531" elapsed="0.002580"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.915470" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.915516" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:15.911302" elapsed="0.004238"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.917286" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.915613" elapsed="0.001727"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.915595" elapsed="0.001769"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.917397" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:15.917587" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:15.917630" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:15.898947" elapsed="0.018705"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.919938" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.918199" elapsed="0.001784"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.918182" elapsed="0.001823"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.920542" 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-08-18T20:12:15.920149" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.921091" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.920726" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.921167" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:15.921342" 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-08-18T20:12:15.917874" elapsed="0.003492"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.921518" 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-08-18T20:12:15.898380" elapsed="0.023605"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.929666" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:15.929373" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:15.945254" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:15.945675" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:15.946360" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:15.929839" elapsed="0.016581"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.947428" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:15.946801" elapsed="0.000728"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.950741" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:15.947877" elapsed="0.004213"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.954577" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.952190" elapsed="0.002454"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.952163" elapsed="0.002512"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:15.984683" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:15.984731" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:15.954885" elapsed="0.029869"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:15.986551" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:15.984850" elapsed="0.001757"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.984830" elapsed="0.001802"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:15.986666" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:15.986880" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:15.986924" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:15.929005" elapsed="0.057941"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:15.989097" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:15.987489" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:15.987472" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.989712" 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-08-18T20:12:15.989309" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:15.990263" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:15.989915" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:15.990337" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:15.990514" 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-08-18T20:12:15.987160" elapsed="0.003379"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:15.990691" 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-08-18T20:12:15.928386" elapsed="0.062776"/>
</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-08-18T20:12:15.880887" elapsed="0.110332"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:15.874142" elapsed="0.117191"/>
</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-08-18T20:12:16.002029" 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-08-18T20:12:16.002165" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.001892" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:16.002757" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0130&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:16.002340" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.003223" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:16.002946" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.003658" 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-08-18T20:12:16.003395" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.004110" 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-08-18T20:12:16.003844" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.005062" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.004281" elapsed="0.000811"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.005568" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.005244" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.006295" 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-08-18T20:12:16.005816" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.006829" 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-08-18T20:12:16.006488" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.007335" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.007025" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.007861" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.007526" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.008368" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0130&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.008053" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:16.001554" elapsed="0.006909"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.009010" 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-08-18T20:12:16.008610" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.009467" 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-08-18T20:12:16.009225" 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-08-18T20:12:16.017075" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.016766" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.022629" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.022787" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:16.022897" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.017229" elapsed="0.005693"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.023526" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.023175" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.026546" 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-08-18T20:12:16.023807" elapsed="0.002827"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.029142" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.026730" elapsed="0.002480"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.026704" elapsed="0.002538"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.033577" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.033639" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:16.029429" elapsed="0.004242"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.036048" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.033835" elapsed="0.002268"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.033751" elapsed="0.002376"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.036160" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.036351" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:16.036393" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:16.016455" elapsed="0.019960"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.038536" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.036958" elapsed="0.001622"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.036941" elapsed="0.001661"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.039160" 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-08-18T20:12:16.038743" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.039688" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.039343" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.039766" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:12:16.039958" 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-08-18T20:12:16.036618" elapsed="0.003365"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.040134" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:16.015912" elapsed="0.024663"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.048225" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.047930" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.062232" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.062680" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:16.063344" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.048377" elapsed="0.015027"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.064354" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.063764" elapsed="0.000691"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.068877" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:16.064800" elapsed="0.005408"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.072725" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.070307" elapsed="0.002508"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.070281" elapsed="0.002566"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.103033" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.103080" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:16.073037" elapsed="0.030067"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.104892" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.103182" elapsed="0.001766"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.103163" elapsed="0.001809"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.105005" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.105198" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:16.105241" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:16.047549" elapsed="0.057714"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.107373" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.105817" elapsed="0.001601"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.105799" elapsed="0.001640"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.108042" 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-08-18T20:12:16.107583" elapsed="0.000491"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.108585" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.108234" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.108660" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.108861" 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-08-18T20:12:16.105473" elapsed="0.003413"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.109040" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:16.046947" elapsed="0.062537"/>
</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-08-18T20:12:15.998347" elapsed="0.111193"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:15.991594" elapsed="0.118059"/>
</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-08-18T20:12:16.120310" 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-08-18T20:12:16.120458" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.120176" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:16.121069" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebb00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:16.120634" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.121517" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:16.121244" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.121972" 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-08-18T20:12:16.121688" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.122406" 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-08-18T20:12:16.122144" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.123462" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.122576" elapsed="0.000917"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.123998" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.123646" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.124602" 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-08-18T20:12:16.124233" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.125150" 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-08-18T20:12:16.124818" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.125650" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.125342" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.126169" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.125857" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.126674" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebb00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.126361" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:16.119857" elapsed="0.006928"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.127319" 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-08-18T20:12:16.126935" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.127733" 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-08-18T20:12:16.127496" 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-08-18T20:12:16.135364" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.135070" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.140275" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.140405" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:16.140512" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.135516" elapsed="0.005021"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.141046" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.140724" elapsed="0.000370"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.143736" 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-08-18T20:12:16.141236" elapsed="0.002610"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.146409" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.143942" elapsed="0.002536"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.143916" elapsed="0.002593"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.150662" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.150707" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:16.146695" elapsed="0.004034"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.152630" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.150819" elapsed="0.001866"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.150800" elapsed="0.001908"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.152745" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:12:16.152952" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:16.152994" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:16.134749" elapsed="0.018267"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.155133" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.153560" elapsed="0.001618"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.153543" elapsed="0.001657"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.155734" 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-08-18T20:12:16.155342" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.156281" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.155936" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.156355" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.156530" 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-08-18T20:12:16.153220" elapsed="0.003334"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.156705" 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-08-18T20:12:16.134205" elapsed="0.022959"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.164853" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.164542" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.181517" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.182140" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:16.183132" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.165009" elapsed="0.018207"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.184547" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.183721" elapsed="0.000970"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.190124" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:16.185182" elapsed="0.006699"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.194470" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.191986" elapsed="0.002555"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.191958" elapsed="0.002642"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.273208" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.273275" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:16.194834" elapsed="0.078467"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.275343" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.273426" elapsed="0.001978"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.273394" elapsed="0.002036"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.275470" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:16.275689" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:16.275732" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:16.164176" elapsed="0.111583"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.277967" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.276380" elapsed="0.001636"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.276362" elapsed="0.001676"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.278642" 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-08-18T20:12:16.278189" elapsed="0.000480"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.279192" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.278842" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.279266" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.279442" 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-08-18T20:12:16.276025" 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-08-18T20:12:16.279618" 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-08-18T20:12:16.163558" elapsed="0.116541"/>
</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-08-18T20:12:16.116660" elapsed="0.163495"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:16.109928" elapsed="0.170355"/>
</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-08-18T20:12:16.291121" 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-08-18T20:12:16.291290" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.290976" elapsed="0.000344"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:16.291907" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1a80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:16.291467" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.292366" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:16.292087" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.292825" 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-08-18T20:12:16.292540" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.293303" 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-08-18T20:12:16.292999" elapsed="0.000332"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.294220" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.293477" elapsed="0.000773"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.294726" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.294402" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.295310" 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-08-18T20:12:16.294992" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.295839" 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-08-18T20:12:16.295500" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.296339" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.296029" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.296867" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.296531" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.297402" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1a80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.297060" 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-08-18T20:12:16.290626" elapsed="0.006873"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.298040" 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-08-18T20:12:16.297643" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.298457" 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-08-18T20:12:16.298217" 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-08-18T20:12:16.306088" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.305781" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.313571" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.313815" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:16.313926" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.306240" elapsed="0.007713"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.314571" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.314217" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.317811" 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-08-18T20:12:16.314852" elapsed="0.003065"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.320419" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.318016" elapsed="0.002471"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.317990" elapsed="0.002528"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.324494" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.324539" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:16.320706" elapsed="0.003856"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.326357" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.324634" elapsed="0.001779"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.324616" elapsed="0.001820"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.326469" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.326660" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:16.326702" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:16.305411" elapsed="0.021312"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.328838" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.327269" elapsed="0.001615"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.327251" elapsed="0.001654"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.329445" 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-08-18T20:12:16.329052" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.329991" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.329628" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.330065" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:16.330274" 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-08-18T20:12:16.326946" elapsed="0.003353"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.330450" 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-08-18T20:12:16.304863" elapsed="0.026051"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.338583" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.338241" elapsed="0.000369"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.354977" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.355401" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:16.356061" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.338736" elapsed="0.017384"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.357061" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.356464" elapsed="0.000697"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.362416" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:16.357469" elapsed="0.006899"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.366155" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.364440" elapsed="0.001764"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.364421" elapsed="0.001805"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.394599" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.394645" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:16.366359" elapsed="0.028309"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.396463" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.394747" elapsed="0.001772"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.394726" elapsed="0.001817"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.396577" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.396787" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:16.396833" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:16.337871" elapsed="0.058985"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.398961" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.397394" elapsed="0.001612"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.397376" elapsed="0.001651"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.399563" 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-08-18T20:12:16.399169" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.400138" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.399751" elapsed="0.000413"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.400214" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.400389" 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-08-18T20:12:16.397066" elapsed="0.003348"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.400564" 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-08-18T20:12:16.337254" elapsed="0.063775"/>
</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-08-18T20:12:16.287275" elapsed="0.113809"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:16.280483" elapsed="0.120713"/>
</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-08-18T20:12:16.411899" 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-08-18T20:12:16.412031" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.411748" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:16.412646" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570e6b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:16.412207" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.413115" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:16.412838" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.413550" 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-08-18T20:12:16.413286" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.414008" 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-08-18T20:12:16.413720" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.414887" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.414178" elapsed="0.000739"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.415388" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.415067" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.415951" 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-08-18T20:12:16.415614" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.416484" 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-08-18T20:12:16.416140" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.417015" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.416683" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.417516" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.417206" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.418036" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570e6b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.417705" 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-08-18T20:12:16.411424" elapsed="0.006708"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.418646" 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-08-18T20:12:16.418274" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.419075" 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-08-18T20:12:16.418837" 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-08-18T20:12:16.426886" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.426575" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.431468" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.431597" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:16.431703" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.427040" elapsed="0.004688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.432244" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.431934" elapsed="0.000357"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.434423" 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-08-18T20:12:16.432431" elapsed="0.002053"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.436290" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.434552" elapsed="0.001787"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.434534" elapsed="0.001826"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.440245" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.440308" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:16.436494" elapsed="0.003846"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.442798" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.440441" elapsed="0.002436"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.440416" elapsed="0.002494"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.442956" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:16.443223" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:16.443283" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:16.426264" elapsed="0.017050"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.446439" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.444099" elapsed="0.002386"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.444075" elapsed="0.002431"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.447063" 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-08-18T20:12:16.446648" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.447590" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.447246" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.447665" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.447858" 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-08-18T20:12:16.443600" elapsed="0.004283"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.448034" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:16.425701" elapsed="0.022775"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.456191" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.455899" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.471345" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.471806" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:16.472455" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.456343" elapsed="0.016171"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.473455" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.472897" elapsed="0.000657"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.478580" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:16.473899" elapsed="0.005957"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.481644" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.479927" elapsed="0.001765"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.479909" elapsed="0.001804"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.510024" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.510071" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:16.481864" elapsed="0.028230"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.511884" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.510171" elapsed="0.001770"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.510152" elapsed="0.001813"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.512004" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.512197" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:16.512239" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:16.455515" elapsed="0.056747"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.514365" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.512813" elapsed="0.001597"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.512794" elapsed="0.001637"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.514987" 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-08-18T20:12:16.514574" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.515543" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.515197" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.515618" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.515814" 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-08-18T20:12:16.512470" elapsed="0.003370"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.515992" 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-08-18T20:12:16.454905" elapsed="0.061532"/>
</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-08-18T20:12:16.408234" elapsed="0.108260"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:16.401474" elapsed="0.115129"/>
</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-08-18T20:12:16.527343" 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-08-18T20:12:16.527504" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.527207" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:16.528109" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911490&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:16.527683" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.528561" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:16.528286" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.529021" 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-08-18T20:12:16.528735" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.529458" 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-08-18T20:12:16.529193" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.530346" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.529629" elapsed="0.000748"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.530865" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.530528" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.531414" 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-08-18T20:12:16.531095" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.532116" 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-08-18T20:12:16.531621" elapsed="0.000538"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.532623" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.532309" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.533155" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.532838" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.533662" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911490&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.533348" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:16.526887" elapsed="0.006876"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.534307" 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-08-18T20:12:16.533927" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.534722" 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-08-18T20:12:16.534483" 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-08-18T20:12:16.542407" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.542113" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.546525" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.546654" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:16.546782" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.542559" elapsed="0.004250"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.547249" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.546994" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.549409" 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-08-18T20:12:16.547433" elapsed="0.002038"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.551277" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.549541" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.549522" elapsed="0.001826"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.555225" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.555288" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:16.551483" elapsed="0.003836"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.557781" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.555421" elapsed="0.002441"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.555395" elapsed="0.002500"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.557943" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:16.558212" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:16.558272" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:16.541803" elapsed="0.016500"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.561439" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.559067" elapsed="0.002418"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.559042" elapsed="0.002465"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.562067" 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-08-18T20:12:16.561651" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.562599" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.562253" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.562674" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:16.562872" 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-08-18T20:12:16.558588" elapsed="0.004309"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.563049" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:16.541245" elapsed="0.022245"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.571246" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.570953" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.586181" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.586608" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:16.587380" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.571398" elapsed="0.016042"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.588378" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.587822" elapsed="0.000654"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.593496" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:16.588821" elapsed="0.005893"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.596501" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.594801" elapsed="0.001749"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.594780" elapsed="0.001792"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.623952" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.623999" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:16.596706" elapsed="0.027316"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.625811" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.624100" elapsed="0.001767"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.624081" elapsed="0.001810"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.625925" elapsed="0.000054"/>
</return>
<msg time="2026-08-18T20:12:16.626149" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:16.626193" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:16.570565" elapsed="0.055650"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.628344" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.626787" elapsed="0.001601"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.626755" elapsed="0.001654"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.628974" 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-08-18T20:12:16.628555" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.629505" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.629158" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.629580" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.629760" 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-08-18T20:12:16.626434" elapsed="0.003365"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.629953" 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-08-18T20:12:16.569963" elapsed="0.060460"/>
</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-08-18T20:12:16.523656" elapsed="0.106823"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:16.516864" elapsed="0.113729"/>
</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-08-18T20:12:16.641367" 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-08-18T20:12:16.641513" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.641230" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:16.642136" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986321170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:16.641691" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.642621" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:16.642312" elapsed="0.000335"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.643081" 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-08-18T20:12:16.642813" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.643516" 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-08-18T20:12:16.643252" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.644464" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.643686" elapsed="0.000809"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.647028" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.644648" elapsed="0.002423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.647589" 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-08-18T20:12:16.647266" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.648127" 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-08-18T20:12:16.647804" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.648620" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.648314" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.649139" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.648827" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.649647" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986321170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.649329" 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-08-18T20:12:16.640906" elapsed="0.008840"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.650291" 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-08-18T20:12:16.649905" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.650767" 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-08-18T20:12:16.650469" elapsed="0.000380"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.658399" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.658101" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.662697" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.662872" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:16.663026" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.658551" elapsed="0.004536"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.663520" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.663257" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.665717" 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-08-18T20:12:16.663728" 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-08-18T20:12:16.667685" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.665874" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.665854" elapsed="0.001911"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.672171" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.672234" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:16.667920" elapsed="0.004344"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.674691" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.672367" elapsed="0.002423"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.672341" elapsed="0.002483"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.674873" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:12:16.675145" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:16.675206" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:16.657791" elapsed="0.017518"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.677865" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.676129" elapsed="0.001784"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.676110" elapsed="0.001825"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.678486" 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-08-18T20:12:16.678081" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.679055" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.678671" elapsed="0.000410"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.679131" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:16.679312" 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-08-18T20:12:16.675649" elapsed="0.003692"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.679534" 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-08-18T20:12:16.657230" elapsed="0.022783"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.687722" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.687368" elapsed="0.000383"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.703155" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.703576" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:16.704361" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.687918" elapsed="0.016503"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.705371" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.704808" elapsed="0.000663"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.709870" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:16.705809" elapsed="0.005378"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.713757" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.711286" elapsed="0.002558"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.711259" elapsed="0.002615"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.741867" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.741913" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:16.714065" elapsed="0.027871"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.743691" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.742018" elapsed="0.001731"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.741997" elapsed="0.001804"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.743839" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:16.744046" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:16.744089" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:16.686994" elapsed="0.057117"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.746238" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.744659" elapsed="0.001624"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.744640" elapsed="0.001664"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.746871" 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-08-18T20:12:16.746449" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.747401" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.747055" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.747474" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:16.747649" 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-08-18T20:12:16.744329" elapsed="0.003344"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.747840" 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-08-18T20:12:16.686375" elapsed="0.061918"/>
</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-08-18T20:12:16.637683" elapsed="0.110664"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:16.630880" elapsed="0.117587"/>
</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-08-18T20:12:16.759236" 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-08-18T20:12:16.759383" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.759098" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:16.760003" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cee2f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:16.759562" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.760453" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:16.760176" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.760907" 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-08-18T20:12:16.760624" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.761342" 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-08-18T20:12:16.761076" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.762330" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.761542" elapsed="0.000819"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.762861" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.762516" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.763416" 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-08-18T20:12:16.763096" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.764026" 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-08-18T20:12:16.763608" elapsed="0.000459"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.764521" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.764214" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.765044" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.764710" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.765554" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cee2f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.765236" 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-08-18T20:12:16.758765" elapsed="0.006937"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.766258" 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-08-18T20:12:16.765873" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.766874" 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-08-18T20:12:16.766436" elapsed="0.000504"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.774530" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.774220" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.780096" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.780261" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:16.780372" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.774686" elapsed="0.005741"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.780859" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.780586" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.783122" 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-08-18T20:12:16.781049" elapsed="0.002180"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.785729" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.783333" elapsed="0.002491"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.783303" elapsed="0.002553"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.790247" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.790345" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:16.786048" elapsed="0.004329"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.792366" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.790481" elapsed="0.001940"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.790454" elapsed="0.001991"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.792479" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:12:16.792676" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:16.792719" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:16.773905" elapsed="0.018836"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.797398" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.793298" elapsed="0.004146"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.793280" elapsed="0.004186"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.798031" 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-08-18T20:12:16.797612" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.798626" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.798220" elapsed="0.000433"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.798703" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:16.798906" 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-08-18T20:12:16.792972" elapsed="0.005960"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.799093" 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-08-18T20:12:16.773306" elapsed="0.026248"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.807293" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.806996" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.817015" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.817437" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:16.818132" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.807448" elapsed="0.010744"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.819193" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.818541" elapsed="0.000760"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.824188" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:16.819611" elapsed="0.005901"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.828046" elapsed="0.000028"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.825611" elapsed="0.002509"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.825585" elapsed="0.002566"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.855868" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.855915" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:16.828338" elapsed="0.027599"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.857707" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.856046" elapsed="0.001733"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.856026" elapsed="0.001780"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.857840" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.858033" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:16.858076" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:16.806578" elapsed="0.051520"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.860219" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.858638" elapsed="0.001626"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.858620" elapsed="0.001665"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.860855" 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-08-18T20:12:16.860428" elapsed="0.000455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.861396" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.861041" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.861472" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:16.861649" 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-08-18T20:12:16.858310" elapsed="0.003364"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.861844" 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-08-18T20:12:16.805971" elapsed="0.056322"/>
</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-08-18T20:12:16.755552" elapsed="0.106797"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:16.748784" elapsed="0.113687"/>
</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-08-18T20:12:16.873225" 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-08-18T20:12:16.873378" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.873087" elapsed="0.000320"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:16.874002" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911da0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:16.873557" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.874456" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:16.874179" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.874912" 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-08-18T20:12:16.874629" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.875350" 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-08-18T20:12:16.875085" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.876297" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.875523" elapsed="0.000805"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.876868" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.876482" elapsed="0.000429"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.877424" 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-08-18T20:12:16.877102" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.877955" 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-08-18T20:12:16.877615" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.878456" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.878149" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.878983" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.878647" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.879649" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911da0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.879175" elapsed="0.000517"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:16.872748" elapsed="0.007004"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.880294" 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-08-18T20:12:16.879914" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.880756" 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-08-18T20:12:16.880472" 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-08-18T20:12:16.888380" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.888085" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.893820" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.893952" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:16.894065" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.888535" elapsed="0.005583"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.894529" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.894279" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.896671" 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-08-18T20:12:16.894712" elapsed="0.002023"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.898850" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.896822" elapsed="0.002098"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.896803" elapsed="0.002147"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.903402" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.903465" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:16.899139" elapsed="0.004357"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.906198" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.903597" elapsed="0.002661"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.903572" elapsed="0.002709"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.906315" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.906504" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:16.906547" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:16.887757" elapsed="0.018812"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.908668" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.907118" elapsed="0.001594"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.907101" elapsed="0.001633"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.909291" 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-08-18T20:12:16.908891" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.909859" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.909492" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.909934" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:16.910111" 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-08-18T20:12:16.906792" elapsed="0.003344"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.910288" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:16.887212" elapsed="0.023517"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.918432" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:16.918140" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:16.932931" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:16.933198" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:16.933591" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:16.918585" elapsed="0.015043"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.934276" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:16.933879" elapsed="0.000460"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.937339" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:16.934534" elapsed="0.004141"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.941186" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.938795" elapsed="0.002459"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.938749" elapsed="0.002535"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.969823" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:16.969869" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:16.941471" elapsed="0.028421"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:16.971652" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:16.969968" elapsed="0.001739"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.969949" elapsed="0.001782"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:16.971780" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:16.971972" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:16.972018" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:16.917750" elapsed="0.054290"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:16.974159" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:16.972572" elapsed="0.001632"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:16.972554" elapsed="0.001672"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.974766" 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-08-18T20:12:16.974368" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.975352" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:16.974967" elapsed="0.000411"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:16.975427" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:16.975603" 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-08-18T20:12:16.972247" elapsed="0.003381"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:16.975798" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:16.917104" elapsed="0.059138"/>
</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-08-18T20:12:16.869529" elapsed="0.106767"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:16.862788" elapsed="0.113618"/>
</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-08-18T20:12:16.987092" 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-08-18T20:12:16.987222" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.986956" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:16.987851" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98638dda0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:16.987398" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.988298" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:16.988026" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.988735" 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-08-18T20:12:16.988471" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:16.989191" 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-08-18T20:12:16.988926" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:16.990166" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.989361" elapsed="0.000836"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.990675" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.990349" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.991242" 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-08-18T20:12:16.990922" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.991809" 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-08-18T20:12:16.991431" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.992309" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:16.991999" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.992829" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:16.992499" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.993335" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98638dda0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:16.993021" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:16.986618" elapsed="0.006812"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.993969" 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-08-18T20:12:16.993575" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:16.994381" 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-08-18T20:12:16.994146" 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-08-18T20:12:17.002019" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.001705" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.007528" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.007655" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:17.007781" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.002171" elapsed="0.005637"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.008257" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.008005" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.011054" 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-08-18T20:12:17.008473" elapsed="0.002665"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.013687" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.011235" elapsed="0.002527"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.011209" elapsed="0.002602"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.017895" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.017940" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:17.014003" elapsed="0.003960"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.019854" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.018035" elapsed="0.001875"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.018017" elapsed="0.001917"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.019968" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:17.020159" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:17.020202" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:17.001397" elapsed="0.018827"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.022345" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.020797" elapsed="0.001593"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.020766" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.022973" 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-08-18T20:12:17.022555" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.023506" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.023161" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.023581" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:17.023761" 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-08-18T20:12:17.020456" elapsed="0.003344"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.023953" elapsed="0.000378"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:17.000854" elapsed="0.023561"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.032039" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.031729" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.047914" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.048361" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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-08-18T20:12:17.049021" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.032191" elapsed="0.016922"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.050063" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.049467" elapsed="0.000698"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.055066" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;7&lt;/second&gt;&lt;nanosecond&gt;638000000&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;6&lt;/second&gt;&lt;nanosecond&gt;303000000&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;7&lt;/second&gt;&lt;nanosecond&gt;669000000&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;7&lt;/second&gt;&lt;nanosecond&gt;707000000&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;7&lt;/second&gt;&lt;nanosecond&gt;739000000&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;7&lt;/second&gt;&lt;nanosecond&gt;781000000&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;6&lt;/second&gt;&lt;nanosecond&gt;333000000&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;6&lt;/second&gt;&lt;nanosecond&gt;378000000&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;7&lt;/second&gt;&lt;nanosecond&gt;822000000&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;6&lt;/second&gt;&lt;nanosecond&gt;416000000&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;7&lt;/second&gt;&lt;nanosecond&gt;860000000&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;6&lt;/second&gt;&lt;nanosecond&gt;449000000&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;7&lt;/second&gt;&lt;nanosecond&gt;892000000&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;6&lt;/second&gt;&lt;nanosecond&gt;486000000&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;7&lt;/second&gt;&lt;nanosecond&gt;935000000&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;6&lt;/second&gt;&lt;nanosecond&gt;522000000&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;7&lt;/second&gt;&lt;nanosecond&gt;971000000&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;14000000&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;12000000&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;7&lt;/second&gt;&lt;nanosecond&gt;311000000&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;89000000&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;7&lt;/second&gt;&lt;nanosecond&gt;348000000&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;6&lt;/second&gt;&lt;nanosecond&gt;189000000&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;7&lt;/second&gt;&lt;nanosecond&gt;388000000&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;223000000&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;7&lt;/second&gt;&lt;nanosecond&gt;417000000&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;7&lt;/second&gt;&lt;nanosecond&gt;448000000&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;7&lt;/second&gt;&lt;nanosecond&gt;485000000&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;7&lt;/second&gt;&lt;nanosecond&gt;527000000&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;6&lt;/second&gt;&lt;nanosecond&gt;267000000&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;7&lt;/second&gt;&lt;nanosecond&gt;560000000&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;7&lt;/second&gt;&lt;nanosecond&gt;589000000&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;6&lt;/second&gt;&lt;nanosecond&gt;630000000&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;6&lt;/second&gt;&lt;nanosecond&gt;679000000&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;7&lt;/second&gt;&lt;nanosecond&gt;160000000&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;6&lt;/second&gt;&lt;nanosecond&gt;718000000&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;5&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;755000000&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;6&lt;/second&gt;&lt;nanosecond&gt;791000000&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;6&lt;/second&gt;&lt;nanosecond&gt;828000000&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;6&lt;/second&gt;&lt;nanosecond&gt;864000000&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;5&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;901000000&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;14000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;198000000&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;6&lt;/second&gt;&lt;nanosecond&gt;938000000&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;50000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;236000000&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;6&lt;/second&gt;&lt;nanosecond&gt;975000000&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;89000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;7&lt;/second&gt;&lt;nanosecond&gt;271000000&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;89000000&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;51000000&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;85000000&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;109000000&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;6&lt;/second&gt;&lt;nanosecond&gt;596000000&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;6&lt;/second&gt;&lt;nanosecond&gt;562000000&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-08-18T20:12:17.050475" elapsed="0.006836"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.059589" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.057478" elapsed="0.002160"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.057435" elapsed="0.002225"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.087097" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.087144" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:17.059810" elapsed="0.027357"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.088946" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.087246" elapsed="0.001757"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.087227" elapsed="0.001800"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.089061" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:17.089255" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:17.089297" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:17.031364" elapsed="0.057955"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.091465" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.089877" elapsed="0.001633"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.089859" elapsed="0.001673"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.092100" 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-08-18T20:12:17.091675" elapsed="0.000452"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.092633" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.092285" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.092708" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:17.092906" 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-08-18T20:12:17.089533" elapsed="0.003398"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.093085" 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-08-18T20:12:17.030755" elapsed="0.062776"/>
</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-08-18T20:12:16.983412" elapsed="0.110175"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:16.976653" elapsed="0.117046"/>
</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-08-18T20:12:17.104503" 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-08-18T20:12:17.104661" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:17.104366" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:17.105300" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e070&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:17.104858" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.105759" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:17.105476" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.106214" 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-08-18T20:12:17.105949" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.106688" 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-08-18T20:12:17.106388" elapsed="0.000327"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.107756" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:17.106879" elapsed="0.000923"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.108291" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.107958" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.108877" 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-08-18T20:12:17.108538" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.109396" 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-08-18T20:12:17.109075" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.109915" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:17.109586" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.110436" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:17.110110" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.111003" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e070&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.110633" 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-08-18T20:12:17.104034" elapsed="0.007067"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.111627" 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-08-18T20:12:17.111248" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.112063" 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-08-18T20:12:17.111822" 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-08-18T20:12:17.119832" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.119516" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.126465" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.126608" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:17.126719" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.119987" elapsed="0.006761"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.127275" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.126968" elapsed="0.000353"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.129429" 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-08-18T20:12:17.127467" elapsed="0.002024"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.131316" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.129561" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.129542" elapsed="0.001846"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.135494" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.135557" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:17.131525" elapsed="0.004064"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.138246" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.135692" elapsed="0.002631"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.135666" elapsed="0.002690"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.138403" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:17.138670" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:17.138730" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:17.119209" elapsed="0.019557"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.141263" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.139576" elapsed="0.001732"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.139552" elapsed="0.001778"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.141890" 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-08-18T20:12:17.141472" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.142428" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.142081" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.142502" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:17.142679" 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-08-18T20:12:17.139081" elapsed="0.003622"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.142873" 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-08-18T20:12:17.118628" elapsed="0.024694"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.151003" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.150691" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.161576" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.161868" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:17.162263" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.151156" elapsed="0.011144"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.162898" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.162522" elapsed="0.000440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.166008" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:17.163158" elapsed="0.004191"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.169889" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.167448" elapsed="0.002514"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.167422" elapsed="0.002571"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.201674" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.201721" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:17.170183" elapsed="0.031562"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.203518" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.201841" elapsed="0.001734"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.201821" elapsed="0.001777"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.203633" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:17.203843" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:17.203886" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:17.150323" elapsed="0.053586"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.206044" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.204449" elapsed="0.001641"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.204432" elapsed="0.001679"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.206651" 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-08-18T20:12:17.206254" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.207198" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.206853" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.207273" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.207449" 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-08-18T20:12:17.204121" elapsed="0.003353"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.207626" 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-08-18T20:12:17.149706" elapsed="0.058380"/>
</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-08-18T20:12:17.100802" elapsed="0.107340"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:17.093979" elapsed="0.114278"/>
</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-08-18T20:12:17.218986" 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-08-18T20:12:17.219127" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:17.218847" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:17.219724" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b0b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:17.219304" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.220198" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:17.219921" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.220633" 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-08-18T20:12:17.220369" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.221088" 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-08-18T20:12:17.220821" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.221977" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:17.221259" elapsed="0.000749"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.222485" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.222162" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.223069" 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-08-18T20:12:17.222726" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.223585" 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-08-18T20:12:17.223263" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.224107" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:17.223791" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.224614" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:17.224298" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.225147" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b0b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.224822" 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-08-18T20:12:17.218510" elapsed="0.006736"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.225846" 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-08-18T20:12:17.225395" elapsed="0.000482"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.226267" 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-08-18T20:12:17.226025" 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-08-18T20:12:17.234157" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.233844" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.239627" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.239841" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:17.239989" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.234310" elapsed="0.005713"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.240584" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.240241" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.243635" 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-08-18T20:12:17.240866" elapsed="0.002934"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.246327" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.243902" elapsed="0.002493"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.243875" elapsed="0.002550"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.249521" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.249566" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:17.246613" elapsed="0.002975"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.251341" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.249661" elapsed="0.001735"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.249643" elapsed="0.001777"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.251453" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.251645" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:17.251689" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:17.233517" elapsed="0.018194"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.253980" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.252259" elapsed="0.001767"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.252241" elapsed="0.001807"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.254612" 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-08-18T20:12:17.254191" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.255163" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.254815" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.255238" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:17.255423" 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-08-18T20:12:17.251934" 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-08-18T20:12:17.255598" 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-08-18T20:12:17.232966" elapsed="0.023099"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.263749" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.263452" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.279093" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.279518" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:17.280198" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.263916" elapsed="0.016343"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.281211" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.280611" elapsed="0.000698"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.285418" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:17.281617" elapsed="0.005130"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.289266" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.286862" elapsed="0.002471"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.286834" elapsed="0.002530"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.320685" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.320732" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:17.289550" elapsed="0.031208"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.322520" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.320849" elapsed="0.001726"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.320830" elapsed="0.001770"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.322633" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:17.322844" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:17.322888" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:17.263085" elapsed="0.059825"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.325055" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.323450" elapsed="0.001651"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.323432" elapsed="0.001691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.325661" 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-08-18T20:12:17.325265" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.326211" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.325863" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.326285" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.326461" 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-08-18T20:12:17.323123" elapsed="0.003362"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.326637" 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-08-18T20:12:17.262438" elapsed="0.064664"/>
</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-08-18T20:12:17.215297" elapsed="0.111861"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:17.208513" elapsed="0.118759"/>
</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-08-18T20:12:17.338035" 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-08-18T20:12:17.338166" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:17.337900" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:17.338740" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0ea0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:17.338341" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.339218" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:17.338943" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.339656" 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-08-18T20:12:17.339391" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.340114" 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-08-18T20:12:17.339845" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.341028" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:17.340287" elapsed="0.000772"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.341533" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.341211" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.342098" 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-08-18T20:12:17.341778" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.342609" 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-08-18T20:12:17.342290" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.343120" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:17.342813" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.343787" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:17.343312" elapsed="0.000523"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.344311" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0ea0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.343987" 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-08-18T20:12:17.337561" elapsed="0.006847"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.344963" 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-08-18T20:12:17.344570" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.345380" 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-08-18T20:12:17.345140" 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-08-18T20:12:17.353014" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.352701" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.358869" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.359050" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:17.359197" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.353165" elapsed="0.006066"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.359818" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.359447" elapsed="0.000481"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.362897" 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-08-18T20:12:17.360125" elapsed="0.002857"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.365498" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.363079" elapsed="0.002488"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.363052" elapsed="0.002546"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.369940" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.370004" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:17.365806" 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-08-18T20:12:17.372457" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.370135" elapsed="0.002397"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.370110" elapsed="0.002456"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.372613" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:17.372907" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:17.372969" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:17.352378" elapsed="0.020622"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.375646" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.373822" elapsed="0.001869"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.373795" elapsed="0.001919"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.376271" 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-08-18T20:12:17.375873" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.376816" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.376453" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.376892" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.377068" 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-08-18T20:12:17.373345" elapsed="0.003748"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.377258" 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-08-18T20:12:17.351833" elapsed="0.025868"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.385348" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.385055" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.398823" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.399087" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:17.399496" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.385513" elapsed="0.014020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.400123" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.399756" elapsed="0.000429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.403190" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:17.400377" elapsed="0.004136"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.406894" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.404612" elapsed="0.002331"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.404586" elapsed="0.002380"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.431930" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.431977" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:17.407106" elapsed="0.024894"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.433840" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.432077" elapsed="0.001820"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.432058" elapsed="0.001864"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.433956" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.434151" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:17.434194" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:17.384670" elapsed="0.049546"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.436337" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.434786" elapsed="0.001596"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.434753" elapsed="0.001651"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.436961" 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-08-18T20:12:17.436547" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.437488" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.437144" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.437562" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.437737" 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-08-18T20:12:17.434428" elapsed="0.003354"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.437936" 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-08-18T20:12:17.384070" elapsed="0.054314"/>
</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-08-18T20:12:17.334349" elapsed="0.104091"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:17.327517" elapsed="0.111224"/>
</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-08-18T20:12:17.454160" 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-08-18T20:12:17.454295" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:17.454023" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:17.454904" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e90d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:17.454472" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.455420" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:17.455129" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.455892" 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-08-18T20:12:17.455597" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.456344" 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-08-18T20:12:17.456069" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.457227" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:17.456522" elapsed="0.000737"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.457748" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.457415" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.458330" 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-08-18T20:12:17.458003" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.458878" 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-08-18T20:12:17.458528" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.459595" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:17.459092" elapsed="0.000550"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.460136" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:17.459811" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.460654" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e90d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.460333" 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-08-18T20:12:17.453681" elapsed="0.007075"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.461305" 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-08-18T20:12:17.460922" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.461784" 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-08-18T20:12:17.461518" 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-08-18T20:12:17.469346" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.469049" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.475005" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.475148" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:17.475254" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.469499" elapsed="0.005780"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.475705" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.475441" elapsed="0.000361"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.477896" 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-08-18T20:12:17.475943" elapsed="0.002014"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.479754" elapsed="0.000031"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.478025" elapsed="0.001794"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.478006" elapsed="0.001835"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.484221" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.484287" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:17.479977" elapsed="0.004341"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.486828" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.484427" elapsed="0.002484"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.484401" elapsed="0.002544"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.486993" elapsed="0.000045"/>
</return>
<msg time="2026-08-18T20:12:17.487280" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:17.487340" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:17.468724" elapsed="0.018647"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.489902" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.488176" elapsed="0.001773"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.488159" elapsed="0.001812"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.490537" 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-08-18T20:12:17.490119" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.491089" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.490726" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.491164" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.491339" 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-08-18T20:12:17.487676" elapsed="0.003688"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.491516" 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-08-18T20:12:17.468180" elapsed="0.023822"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.499745" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.499443" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.513981" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.514404" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:17.515104" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.499915" elapsed="0.015249"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.516116" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.515514" elapsed="0.000701"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.521189" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:17.516558" elapsed="0.005588"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.523938" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.522217" elapsed="0.001770"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.522198" elapsed="0.001811"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.549073" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.549120" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:17.524148" elapsed="0.025008"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.550929" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.549236" elapsed="0.001749"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.549217" elapsed="0.001792"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.551043" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:17.551238" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:17.551281" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:17.499074" elapsed="0.052229"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.553434" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.551863" elapsed="0.001616"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.551845" elapsed="0.001656"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.554065" 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-08-18T20:12:17.553643" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.554597" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.554251" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.554672" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.554892" 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-08-18T20:12:17.551518" elapsed="0.003404"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.555078" 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-08-18T20:12:17.498450" elapsed="0.057076"/>
</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-08-18T20:12:17.450472" elapsed="0.105111"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:17.439385" elapsed="0.116322"/>
</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-08-18T20:12:17.566490" 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-08-18T20:12:17.566640" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:17.566340" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:17.567244" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98525cd60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:17.566833" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.567696" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:17.567420" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.568151" 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-08-18T20:12:17.567885" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.568584" 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-08-18T20:12:17.568321" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.569467" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:17.568759" elapsed="0.000740"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.570067" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.569702" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.570640" 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-08-18T20:12:17.570314" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.571185" 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-08-18T20:12:17.570855" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.571885" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:17.571380" elapsed="0.000556"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.572421" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:17.572093" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.572968" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98525cd60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.572622" 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-08-18T20:12:17.566019" elapsed="0.007053"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.573621" 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-08-18T20:12:17.573225" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.574120" 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-08-18T20:12:17.573863" 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-08-18T20:12:17.581818" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.581497" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.587856" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.588010" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:17.588166" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.581988" elapsed="0.006215"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.588838" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.588437" elapsed="0.000517"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.592119" 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-08-18T20:12:17.589164" elapsed="0.003045"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.594932" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.592317" elapsed="0.002691"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.592286" elapsed="0.002755"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.599524" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.599570" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:17.595243" elapsed="0.004350"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.602009" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.599709" elapsed="0.002371"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.599669" elapsed="0.002443"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.602156" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:12:17.602443" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:17.602500" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:17.581183" elapsed="0.021346"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.605085" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.603270" elapsed="0.001863"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.603249" elapsed="0.001907"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.605796" 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-08-18T20:12:17.605321" elapsed="0.000503"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.606336" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.605984" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.606412" elapsed="0.000034"/>
</return>
<msg time="2026-08-18T20:12:17.606631" 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-08-18T20:12:17.602869" elapsed="0.003787"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.606828" 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-08-18T20:12:17.580607" 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-08-18T20:12:17.615033" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.614709" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.631510" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.632007" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:17.632689" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.615190" elapsed="0.017564"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.633692" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.633138" elapsed="0.000685"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.639000" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:17.634132" elapsed="0.006668"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.643329" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.640907" elapsed="0.002508"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.640879" elapsed="0.002575"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.719692" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.719760" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:17.643647" elapsed="0.076153"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.721740" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.719922" elapsed="0.001895"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.719891" elapsed="0.001952"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.721881" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:17.722101" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:17.722144" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:17.614304" elapsed="0.107863"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.724357" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.722804" elapsed="0.001598"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.722784" elapsed="0.001640"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.725045" 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-08-18T20:12:17.724573" elapsed="0.000499"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.725648" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.725294" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.725723" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:12:17.725923" 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-08-18T20:12:17.722426" elapsed="0.003523"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.726104" 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-08-18T20:12:17.613662" elapsed="0.112905"/>
</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-08-18T20:12:17.562813" elapsed="0.163812"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:17.556039" elapsed="0.170713"/>
</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-08-18T20:12:17.737595" 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-08-18T20:12:17.737780" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:17.737414" elapsed="0.000397"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:17.738384" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538abb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:17.737961" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.738863" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:17.738560" elapsed="0.000329"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.739299" 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-08-18T20:12:17.739034" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.739731" 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-08-18T20:12:17.739468" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.740747" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:17.739923" elapsed="0.000868"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.741272" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.740945" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.741875" 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-08-18T20:12:17.741521" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.742391" 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-08-18T20:12:17.742070" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.742900" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:17.742577" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.743401" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:17.743090" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.743916" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538abb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.743588" 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-08-18T20:12:17.737089" elapsed="0.006923"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.744527" 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-08-18T20:12:17.744155" elapsed="0.000401"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.744960" 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-08-18T20:12:17.744700" 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-08-18T20:12:17.752601" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.752299" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.759415" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.759588" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:17.759694" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.752756" elapsed="0.006963"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.760157" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.759901" elapsed="0.000332"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.762371" 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-08-18T20:12:17.760372" elapsed="0.002060"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.764753" elapsed="0.000038"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.762501" elapsed="0.002338"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.762482" elapsed="0.002388"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.769242" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.769305" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:17.765058" elapsed="0.004279"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.771793" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.769439" elapsed="0.002411"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.769414" elapsed="0.002460"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.771907" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:17.772098" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:17.772140" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:17.751989" elapsed="0.020173"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.774262" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.772693" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.772676" elapsed="0.001671"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.774904" 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-08-18T20:12:17.774489" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.775436" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.775091" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.775511" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:17.775688" 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-08-18T20:12:17.772369" elapsed="0.003344"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.775884" 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-08-18T20:12:17.751427" elapsed="0.024909"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.784024" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.783710" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.799622" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.799916" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:17.800313" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.784177" elapsed="0.016172"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.800942" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.800568" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.804041" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:17.801201" elapsed="0.004162"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.807912" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.805462" elapsed="0.002519"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.805436" elapsed="0.002582"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.832089" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.832137" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:17.808217" elapsed="0.023943"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.833945" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.832239" elapsed="0.001764"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.832220" elapsed="0.001807"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.834061" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.834257" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:17.834300" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:17.783339" elapsed="0.050984"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.836514" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.834950" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.834931" elapsed="0.001650"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.837140" 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-08-18T20:12:17.836725" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.837671" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.837325" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.837749" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:12:17.837941" 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-08-18T20:12:17.834587" elapsed="0.003379"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.838118" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:17.782722" elapsed="0.055838"/>
</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-08-18T20:12:17.733890" elapsed="0.104726"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:17.727093" elapsed="0.111635"/>
</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-08-18T20:12:17.849420" 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-08-18T20:12:17.849551" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:17.849282" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:17.850159" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c39800&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:17.849727" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.850608" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:17.850333" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.851062" 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-08-18T20:12:17.850796" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.851496" 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-08-18T20:12:17.851233" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.852559" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:17.851666" elapsed="0.000924"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.853089" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.852744" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.853637" 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-08-18T20:12:17.853319" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.854168" 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-08-18T20:12:17.853845" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.854664" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:17.854357" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.855187" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:17.854872" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.855689" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c39800&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.855377" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:17.848959" elapsed="0.006844"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.856350" 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-08-18T20:12:17.855949" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.856782" 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-08-18T20:12:17.856528" 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-08-18T20:12:17.864443" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.864122" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.870891" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.871025" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:17.871135" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.864597" elapsed="0.006563"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.871599" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.871348" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.874129" 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-08-18T20:12:17.871800" elapsed="0.002416"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.876718" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.874313" elapsed="0.002493"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.874286" elapsed="0.002552"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.881194" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.881243" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:17.877029" elapsed="0.004236"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.883163" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.881338" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.881320" elapsed="0.001921"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.883274" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:17.883463" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:17.883505" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:17.863815" elapsed="0.019712"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.885641" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.884073" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.884056" elapsed="0.001651"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.886263" 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-08-18T20:12:17.885865" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.886810" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.886445" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.886887" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:17.887064" 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-08-18T20:12:17.883731" elapsed="0.003358"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:17.887241" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:17.863256" elapsed="0.024426"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.895326" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.895033" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.910589" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.911049" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:17.911682" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.895478" elapsed="0.016263"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.912683" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.912124" elapsed="0.000692"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.917721" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:17.913128" elapsed="0.005813"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.920722" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.919013" elapsed="0.001773"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.918994" elapsed="0.001815"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.944779" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.944828" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:17.920945" elapsed="0.023906"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.946688" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.944929" elapsed="0.001815"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.944910" elapsed="0.001874"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.946820" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.947013" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:17.947056" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:17.894646" elapsed="0.052432"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.949243" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.947616" elapsed="0.001673"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.947598" elapsed="0.001713"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.949872" 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-08-18T20:12:17.949455" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.950439" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:17.950060" elapsed="0.000406"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:17.950521" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:17.950700" 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-08-18T20:12:17.947287" 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-08-18T20:12:17.950897" 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-08-18T20:12:17.894045" elapsed="0.057299"/>
</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-08-18T20:12:17.845738" elapsed="0.105667"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:17.838995" elapsed="0.112524"/>
</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-08-18T20:12:17.962377" 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-08-18T20:12:17.962580" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:17.962241" elapsed="0.000369"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:17.963209" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538a520&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:17.962794" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.963665" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:17.963388" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.964128" 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-08-18T20:12:17.963860" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:17.964570" 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-08-18T20:12:17.964303" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.965637" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:17.964748" elapsed="0.000920"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.966177" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.965840" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.966783" 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-08-18T20:12:17.966411" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.967330" 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-08-18T20:12:17.967003" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.967848" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:17.967521" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.968365" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:17.968048" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.968892" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538a520&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:17.968558" 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-08-18T20:12:17.961916" elapsed="0.007073"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.969515" 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-08-18T20:12:17.969136" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.969951" 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-08-18T20:12:17.969694" 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-08-18T20:12:17.977819" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:17.977506" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:17.984325" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:17.984454" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:17.984562" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:17.977977" elapsed="0.006610"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.985052" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:17.984797" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:17.988102" 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-08-18T20:12:17.985351" elapsed="0.002839"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.990686" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.988287" elapsed="0.002471"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.988261" elapsed="0.002546"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:17.995163" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:17.995227" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:17.991001" elapsed="0.004257"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:17.997478" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:17.995361" elapsed="0.002172"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.995335" elapsed="0.002222"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:17.997591" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:17.997799" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:17.997844" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:17.977187" elapsed="0.020679"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:17.999975" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:17.998400" elapsed="0.001620"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:17.998382" elapsed="0.001663"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.000589" 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-08-18T20:12:18.000189" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.001134" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.000786" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.001208" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.001385" 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-08-18T20:12:17.998072" elapsed="0.003338"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.001562" 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-08-18T20:12:17.976622" elapsed="0.025401"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.009670" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.009378" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.024975" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.025395" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:18.026060" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.009838" elapsed="0.016281"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.027069" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.026471" elapsed="0.000699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.032054" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:18.027482" elapsed="0.006156"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.035442" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.033710" elapsed="0.001782"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.033691" elapsed="0.001823"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.058244" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.058291" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:18.035649" elapsed="0.022665"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.060089" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.058390" elapsed="0.001755"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.058372" elapsed="0.001797"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.060203" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.060395" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:18.060438" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:18.009009" elapsed="0.051451"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.062594" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.061033" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.061014" elapsed="0.001647"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.063217" 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-08-18T20:12:18.062820" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.063753" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.063402" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.063844" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:18.064023" 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-08-18T20:12:18.060669" elapsed="0.003379"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.064201" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:18.008390" elapsed="0.056252"/>
</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-08-18T20:12:17.958601" elapsed="0.106098"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:17.951688" elapsed="0.113140"/>
</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-08-18T20:12:18.075573" 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-08-18T20:12:18.075704" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:18.075440" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:18.076301" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912b10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:18.075897" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.076753" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:18.076476" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.077202" 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-08-18T20:12:18.076940" elapsed="0.000287"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.077650" 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-08-18T20:12:18.077386" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.080595" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:18.077838" elapsed="0.002789"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.081123" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.080796" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.081698" 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-08-18T20:12:18.081353" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.082230" 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-08-18T20:12:18.081905" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.082720" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:18.082415" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.083238" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:18.082928" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.083748" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912b10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.083426" 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-08-18T20:12:18.075118" elapsed="0.008740"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.084373" 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-08-18T20:12:18.084001" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.084798" 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-08-18T20:12:18.084547" 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-08-18T20:12:18.092424" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.092126" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.098219" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.098353" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:18.098468" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.092578" elapsed="0.005915"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.098956" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.098678" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.101100" 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-08-18T20:12:18.099137" elapsed="0.002024"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.103336" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.101230" elapsed="0.002176"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.101210" elapsed="0.002226"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.107855" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.107920" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:18.103624" elapsed="0.004327"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.110644" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.108056" elapsed="0.002666"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.108028" elapsed="0.002731"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.110826" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:18.111120" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:18.111176" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:18.091815" elapsed="0.019388"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.113306" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.111740" elapsed="0.001618"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.111722" elapsed="0.001657"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.113935" 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-08-18T20:12:18.113521" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.114485" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.114123" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.114559" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.114733" 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-08-18T20:12:18.111415" elapsed="0.003346"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.114928" 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-08-18T20:12:18.091250" elapsed="0.024121"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.123053" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.122743" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.138592" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.139077" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:18.139751" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.123205" elapsed="0.016637"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.140847" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.140193" elapsed="0.000758"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.145764" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:18.141266" elapsed="0.006706"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.150489" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.148098" elapsed="0.002460"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.148071" elapsed="0.002518"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.174074" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.174121" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:18.150796" elapsed="0.023347"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.175935" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.174220" elapsed="0.001771"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.174201" elapsed="0.001814"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.176049" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.176241" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:18.176284" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:18.122372" elapsed="0.053935"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.178434" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.176861" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.176843" elapsed="0.001658"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.179063" 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-08-18T20:12:18.178644" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.179597" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.179249" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.179700" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:12:18.179901" 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-08-18T20:12:18.176517" elapsed="0.003409"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.180081" elapsed="0.000381"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:18.121741" elapsed="0.058782"/>
</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-08-18T20:12:18.071911" elapsed="0.108667"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:18.065184" elapsed="0.115505"/>
</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-08-18T20:12:18.191458" 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-08-18T20:12:18.191589" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:18.191324" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:18.192195" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912750&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:18.191782" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.192645" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:18.192370" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.193103" 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-08-18T20:12:18.192837" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.193539" 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-08-18T20:12:18.193276" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.194376" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:18.193709" elapsed="0.000697"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.195049" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.194558" elapsed="0.000534"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.195605" 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-08-18T20:12:18.195283" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.196174" 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-08-18T20:12:18.195813" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.196675" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:18.196366" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.197202" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:18.196887" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.197709" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912750&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.197395" elapsed="0.000358"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:18.191002" elapsed="0.006820"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.198343" 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-08-18T20:12:18.197968" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.198760" 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-08-18T20:12:18.198519" 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-08-18T20:12:18.206363" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.206071" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.212240" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.212366" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:18.212511" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.206515" elapsed="0.006022"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.212968" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.212695" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.215981" 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-08-18T20:12:18.213250" elapsed="0.002855"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.218622" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.216202" elapsed="0.002489"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.216176" elapsed="0.002545"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.222387" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.222432" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:18.218931" elapsed="0.003523"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.224203" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.222526" elapsed="0.001732"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.222508" elapsed="0.001774"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.224316" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.224505" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:18.224548" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:18.205751" elapsed="0.018819"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.228722" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.225133" elapsed="0.003674"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.225116" elapsed="0.003716"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.229381" 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-08-18T20:12:18.228982" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.229931" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.229565" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.230007" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:18.230184" 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-08-18T20:12:18.224807" elapsed="0.005402"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.230363" 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-08-18T20:12:18.205206" elapsed="0.025620"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.238510" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.238219" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.253834" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.254173" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:18.254861" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.238661" elapsed="0.016261"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.255860" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.255273" elapsed="0.000687"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.260842" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:18.256269" elapsed="0.006286"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.264352" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.262627" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.262608" elapsed="0.001814"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.289797" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.289845" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:18.264556" elapsed="0.025312"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.291639" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.289946" elapsed="0.001749"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.289928" elapsed="0.001791"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.291755" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:12:18.291963" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:18.292005" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:18.237852" elapsed="0.054175"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.294149" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.292569" elapsed="0.001657"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.292551" elapsed="0.001699"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.294820" 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-08-18T20:12:18.294403" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.295354" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.295006" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.295431" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.295607" 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-08-18T20:12:18.292242" elapsed="0.003390"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.295801" 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-08-18T20:12:18.237232" elapsed="0.059020"/>
</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-08-18T20:12:18.187755" elapsed="0.108553"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:18.180997" elapsed="0.115422"/>
</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-08-18T20:12:18.307107" 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-08-18T20:12:18.307239" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:18.306972" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:18.307811" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912f20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:18.307417" elapsed="0.000423"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.308261" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:18.307988" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.308698" 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-08-18T20:12:18.308435" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.309152" 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-08-18T20:12:18.308887" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.309880" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:18.309323" elapsed="0.000587"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.310381" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.310062" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.310981" 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-08-18T20:12:18.310643" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.311491" 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-08-18T20:12:18.311170" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.312004" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:18.311677" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.312509" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:18.312195" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.313037" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912f20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.312701" 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-08-18T20:12:18.306633" elapsed="0.006500"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.313654" 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-08-18T20:12:18.313279" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.314087" 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-08-18T20:12:18.313849" elapsed="0.000294"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.321918" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.321603" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.327732" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.327880" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:18.327982" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.322073" elapsed="0.005934"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.328416" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.328169" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.330561" 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-08-18T20:12:18.328598" elapsed="0.002050"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.332741" elapsed="0.000043"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.330719" elapsed="0.002114"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.330700" elapsed="0.002164"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.336644" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.336708" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:18.333056" elapsed="0.003683"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.339229" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.336864" elapsed="0.002444"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.336838" elapsed="0.002503"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.339390" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:18.339658" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:18.339718" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:18.321295" elapsed="0.018458"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.342029" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.340454" elapsed="0.001620"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.340437" elapsed="0.001658"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.342632" 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-08-18T20:12:18.342239" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.343204" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.342833" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.343283" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:18.343462" 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-08-18T20:12:18.340091" elapsed="0.003396"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.343639" 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-08-18T20:12:18.320737" elapsed="0.023368"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.351796" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.351488" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.364174" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.364439" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:18.364877" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.351950" elapsed="0.012973"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.365493" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.365143" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.368980" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:18.365754" elapsed="0.005357"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.375206" elapsed="0.000036"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.371272" elapsed="0.004045"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.371230" elapsed="0.004135"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.402714" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.402776" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:18.375667" elapsed="0.027135"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.404674" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.402881" elapsed="0.001849"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.402862" elapsed="0.001892"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.404819" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:18.405024" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:18.405068" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:18.351103" elapsed="0.053988"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.407224" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.405638" elapsed="0.001631"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.405620" elapsed="0.001671"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.407860" 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-08-18T20:12:18.407438" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.408401" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.408050" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.408480" elapsed="0.000057"/>
</return>
<msg time="2026-08-18T20:12:18.408695" 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-08-18T20:12:18.405308" elapsed="0.003413"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.408895" 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-08-18T20:12:18.350480" elapsed="0.058867"/>
</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-08-18T20:12:18.303419" elapsed="0.105986"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:18.296673" elapsed="0.112845"/>
</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-08-18T20:12:18.420342" 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-08-18T20:12:18.420477" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:18.420205" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:18.421078" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630cfe0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:18.420653" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.421527" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:18.421253" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.421988" 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-08-18T20:12:18.421700" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.422422" 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-08-18T20:12:18.422158" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.423230" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:18.422592" elapsed="0.000669"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.423734" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.423412" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.424302" 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-08-18T20:12:18.423984" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.424863" 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-08-18T20:12:18.424492" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.425372" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:18.425062" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.425896" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:18.425565" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.426402" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630cfe0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.426090" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:18.419879" elapsed="0.006618"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.427036" 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-08-18T20:12:18.426643" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.427450" 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-08-18T20:12:18.427214" 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-08-18T20:12:18.435110" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.434813" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.440303" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.440541" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:18.440733" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.435263" elapsed="0.005556"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.441525" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.441111" elapsed="0.000459"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.444573" 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-08-18T20:12:18.441708" elapsed="0.002989"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.447255" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.444819" elapsed="0.002504"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.444792" elapsed="0.002561"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.451047" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.451093" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:18.447542" elapsed="0.003573"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.452867" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.451188" elapsed="0.001735"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.451170" elapsed="0.001776"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.452981" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.453172" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:18.453214" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:18.434488" elapsed="0.018748"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.455364" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.453800" elapsed="0.001610"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.453782" elapsed="0.001650"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.455982" 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-08-18T20:12:18.455572" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.456509" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.456166" elapsed="0.000368"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.456583" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.456774" 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-08-18T20:12:18.453459" elapsed="0.003343"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.456962" 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-08-18T20:12:18.433940" elapsed="0.023468"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.465047" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.464726" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.478333" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.478792" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:18.479428" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.465199" elapsed="0.014288"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.480440" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.479869" elapsed="0.000672"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.485855" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:18.480894" elapsed="0.006771"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.490313" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.487788" elapsed="0.002595"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.487741" elapsed="0.002672"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.517727" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.517790" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:18.490603" elapsed="0.027212"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.519616" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.517895" elapsed="0.001776"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.517875" elapsed="0.001821"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.519730" elapsed="0.000045"/>
</return>
<msg time="2026-08-18T20:12:18.519945" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:18.519988" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:18.464359" elapsed="0.055651"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.522203" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.520561" elapsed="0.001687"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.520544" elapsed="0.001726"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.522850" 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-08-18T20:12:18.522416" elapsed="0.000462"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.523393" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.523041" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.523467" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.523643" 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-08-18T20:12:18.520231" 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-08-18T20:12:18.523837" 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-08-18T20:12:18.463747" elapsed="0.060538"/>
</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-08-18T20:12:18.416625" elapsed="0.107717"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:18.409789" elapsed="0.114667"/>
</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-08-18T20:12:18.535244" 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-08-18T20:12:18.535380" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:18.535106" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:18.535961" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0450&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:18.535556" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.536409" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:18.536137" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.536864" 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-08-18T20:12:18.536580" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.537296" 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-08-18T20:12:18.537034" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.538054" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:18.537465" elapsed="0.000619"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.538555" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.538235" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.539152" 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-08-18T20:12:18.538810" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.539669" 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-08-18T20:12:18.539350" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.540186" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:18.539878" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.540688" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:18.540377" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.541218" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0450&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.540897" 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-08-18T20:12:18.534744" elapsed="0.006569"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.541851" 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-08-18T20:12:18.541458" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.542264" 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-08-18T20:12:18.542028" elapsed="0.000294"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.550018" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.549703" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.559782" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.559975" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:18.560157" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.550169" elapsed="0.010052"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.561210" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.560588" elapsed="0.000723"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.566087" 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-08-18T20:12:18.561625" elapsed="0.004710"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.569115" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.566511" elapsed="0.002654"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.566466" elapsed="0.002721"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.571977" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.572022" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:18.569322" elapsed="0.002722"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.573784" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.572117" elapsed="0.001724"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.572099" elapsed="0.001766"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.573899" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.574100" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:18.574142" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:18.549396" elapsed="0.024768"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.576298" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.574699" elapsed="0.001645"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.574682" elapsed="0.001683"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.576919" 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-08-18T20:12:18.576507" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.577449" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.577107" elapsed="0.000368"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.577525" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.577701" 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-08-18T20:12:18.574375" elapsed="0.003350"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.577896" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:18.548852" elapsed="0.029487"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.586201" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.585908" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.602005" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.602426" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:18.603115" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.586354" elapsed="0.016819"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.604120" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.603523" elapsed="0.000696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.609292" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:18.604563" elapsed="0.006861"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.614139" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.611582" elapsed="0.002606"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.611541" elapsed="0.002669"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.639484" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.639531" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:18.614345" elapsed="0.025213"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.641359" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.639638" elapsed="0.001778"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.639619" elapsed="0.001821"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.641474" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.641668" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:18.641711" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:18.585525" elapsed="0.056208"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.643882" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.642290" elapsed="0.001637"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.642273" elapsed="0.001676"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.644492" 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-08-18T20:12:18.644094" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.645041" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.644676" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.645116" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:18.645318" 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-08-18T20:12:18.641964" elapsed="0.003380"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.645498" 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-08-18T20:12:18.584918" elapsed="0.061042"/>
</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-08-18T20:12:18.531524" elapsed="0.114493"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:18.524722" elapsed="0.121419"/>
</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-08-18T20:12:18.657007" 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-08-18T20:12:18.657172" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:18.656870" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:18.657785" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5ad0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:18.657349" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.658236" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:18.657962" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.658671" 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-08-18T20:12:18.658408" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.659133" 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-08-18T20:12:18.658859" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.659945" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:18.659303" elapsed="0.000672"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.660449" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.660126" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.661025" 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-08-18T20:12:18.660688" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.661535" 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-08-18T20:12:18.661215" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.662084" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:18.661757" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.662586" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:18.662275" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.663111" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5ad0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.662793" 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-08-18T20:12:18.656530" elapsed="0.006677"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.663724" 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-08-18T20:12:18.663350" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.664162" 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-08-18T20:12:18.663926" 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-08-18T20:12:18.671966" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.671653" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.678200" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.678332" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:18.678437" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.672120" elapsed="0.006342"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.678898" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.678619" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.681850" 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-08-18T20:12:18.679109" elapsed="0.002868"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.684520" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.682096" elapsed="0.002493"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.682070" elapsed="0.002550"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.688170" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.688216" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:18.684832" elapsed="0.003407"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.689992" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.688311" elapsed="0.001736"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.688293" elapsed="0.001777"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.690104" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:18.690319" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:18.690363" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:18.671343" elapsed="0.019042"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.692499" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.690935" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.690918" elapsed="0.001648"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.693121" 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-08-18T20:12:18.692709" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.693758" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.693305" elapsed="0.000493"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.693849" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:18.694028" 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-08-18T20:12:18.690591" elapsed="0.003463"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.694206" 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-08-18T20:12:18.670798" elapsed="0.023882"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.702578" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.702252" elapsed="0.000354"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.719024" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.719447" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:18.720129" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.702732" elapsed="0.017456"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.721149" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.720543" elapsed="0.000705"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.726114" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:18.721556" elapsed="0.006647"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.730701" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.728304" elapsed="0.002489"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.728277" elapsed="0.002549"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.762009" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.762055" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:18.731037" elapsed="0.031040"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.763862" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.762155" elapsed="0.001764"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.762136" elapsed="0.001808"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.763979" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.764176" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:18.764218" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:18.701878" elapsed="0.062362"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.766372" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.764831" elapsed="0.001586"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.764812" elapsed="0.001626"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.767016" 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-08-18T20:12:18.766584" elapsed="0.000459"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.767551" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.767201" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.767625" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.767849" 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-08-18T20:12:18.764458" elapsed="0.003422"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.768034" 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-08-18T20:12:18.701254" elapsed="0.067228"/>
</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-08-18T20:12:18.653281" elapsed="0.115258"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:18.646501" elapsed="0.122156"/>
</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-08-18T20:12:18.779384" 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-08-18T20:12:18.779523" 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-08-18T20:12:18.779246" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:18.780144" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986356de0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:18.779701" elapsed="0.000472"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.780605" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:18.780324" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.781074" 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-08-18T20:12:18.780800" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.781521" 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-08-18T20:12:18.781249" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.782220" 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-08-18T20:12:18.781693" elapsed="0.000558"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.782731" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.782405" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.783306" 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-08-18T20:12:18.782983" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.783838" 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-08-18T20:12:18.783497" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.784404" 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-08-18T20:12:18.784031" elapsed="0.000419"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.784931" 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-08-18T20:12:18.784599" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.785444" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986356de0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.785127" 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-08-18T20:12:18.778924" elapsed="0.006618"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.786097" 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-08-18T20:12:18.785689" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.786515" 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-08-18T20:12:18.786276" elapsed="0.000294"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.794300" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.794005" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.800944" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.801070" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:18.801172" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.794452" elapsed="0.006744"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.801600" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.801352" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.803719" 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-08-18T20:12:18.801799" elapsed="0.001989"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.805927" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.803859" elapsed="0.002136"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.803839" elapsed="0.002186"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.809714" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.809800" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:18.806256" elapsed="0.003577"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.812303" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.809934" elapsed="0.002445"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.809909" elapsed="0.002504"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.812460" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:18.812780" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:18.812845" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:18.793679" elapsed="0.019198"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.815098" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.813526" elapsed="0.001617"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.813508" elapsed="0.001656"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.815697" 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-08-18T20:12:18.815307" elapsed="0.000416"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.816242" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.815897" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.816316" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.816491" 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-08-18T20:12:18.813187" elapsed="0.003329"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.816668" 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-08-18T20:12:18.793129" elapsed="0.024020"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.824787" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.824478" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.840286" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.840708" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:18.841426" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.824956" elapsed="0.016530"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.842500" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.841932" elapsed="0.000669"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.847509" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:18.842952" elapsed="0.006755"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.851696" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.849901" elapsed="0.001848"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.849856" elapsed="0.001928"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.881234" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.881281" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:18.851921" elapsed="0.029383"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.883093" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.881381" elapsed="0.001768"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.881363" elapsed="0.001809"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.883207" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:18.883400" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:18.883442" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:18.824110" elapsed="0.059354"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.885571" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.884023" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.884006" elapsed="0.001631"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.886212" 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-08-18T20:12:18.885795" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.886739" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.886395" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.886831" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.887007" 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-08-18T20:12:18.883677" elapsed="0.003355"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.887182" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:18.823492" elapsed="0.064133"/>
</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-08-18T20:12:18.775679" elapsed="0.112001"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:18.768952" elapsed="0.118860"/>
</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-08-18T20:12:18.898549" 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-08-18T20:12:18.898695" 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-08-18T20:12:18.898405" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:18.899300" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc9a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:18.898889" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.899755" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:18.899477" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.900211" 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-08-18T20:12:18.899943" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:18.900649" 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-08-18T20:12:18.900383" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.901355" 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-08-18T20:12:18.900841" elapsed="0.000544"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.901884" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.901537" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.902462" 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-08-18T20:12:18.902129" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.903017" 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-08-18T20:12:18.902666" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.903510" 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-08-18T20:12:18.903205" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.904036" 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-08-18T20:12:18.903700" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.904661" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc9a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:18.904226" elapsed="0.000475"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:18.898057" elapsed="0.006702"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.905411" 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-08-18T20:12:18.904918" elapsed="0.000523"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.905835" 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-08-18T20:12:18.905585" 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-08-18T20:12:18.913670" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.913373" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.918901" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.919041" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:18.919142" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.913840" elapsed="0.005327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.919572" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.919323" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.921716" 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-08-18T20:12:18.919760" elapsed="0.002026"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.923622" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.921888" elapsed="0.001784"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.921867" elapsed="0.001827"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.927209" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.927271" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:18.923846" elapsed="0.003456"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:18.929716" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.927403" elapsed="0.002411"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.927377" elapsed="0.002470"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:18.929895" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:18.930167" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:18.930227" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:18.913066" elapsed="0.017191"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.932900" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.931019" elapsed="0.001925"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.930995" elapsed="0.001971"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.933505" 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-08-18T20:12:18.933114" elapsed="0.000417"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.934052" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:18.933688" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:18.934127" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:18.934302" 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-08-18T20:12:18.930543" elapsed="0.003783"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:18.934477" 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-08-18T20:12:18.912501" elapsed="0.022436"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.942622" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:18.942329" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:18.958435" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:18.958898" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:18.959541" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:18.942790" elapsed="0.016809"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.960568" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:18.960013" elapsed="0.000654"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:18.965003" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:18.961011" elapsed="0.005315"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:18.968857" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:18.966425" elapsed="0.002499"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.966398" elapsed="0.002557"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:18.998912" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:18.998959" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:18.969144" elapsed="0.029838"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:19.000760" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:18.999060" elapsed="0.001770"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:18.999041" elapsed="0.001813"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:19.000888" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:19.001082" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:19.001125" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:18.941960" elapsed="0.059187"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.003253" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.001687" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.001669" elapsed="0.001651"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.003881" 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-08-18T20:12:19.003463" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.004419" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:19.004069" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:19.004494" elapsed="0.000056"/>
</return>
<msg time="2026-08-18T20:12:19.004703" 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-08-18T20:12:19.001361" elapsed="0.003367"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:19.004901" elapsed="0.000516"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:18.941341" elapsed="0.064139"/>
</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-08-18T20:12:18.894862" elapsed="0.110675"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:18.888091" elapsed="0.117561"/>
</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-08-18T20:12:19.016443" 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-08-18T20:12:19.016579" 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-08-18T20:12:19.016305" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.017173" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2e30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.016792" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.017624" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.017350" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.018081" 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-08-18T20:12:19.017814" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.018517" 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-08-18T20:12:19.018253" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.019220" 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-08-18T20:12:19.018688" elapsed="0.000562"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.019721" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.019402" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.020283" 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-08-18T20:12:19.019967" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.020812" 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-08-18T20:12:19.020473" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.021341" 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-08-18T20:12:19.021033" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.021870" 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-08-18T20:12:19.021540" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.022383" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2e30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.022063" 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-08-18T20:12:19.015981" elapsed="0.006498"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.023018" 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-08-18T20:12:19.022625" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.023436" 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-08-18T20:12:19.023197" 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-08-18T20:12:19.031229" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:19.030929" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.037339" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:19.037475" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:19.037577" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:19.031385" elapsed="0.006217"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.038034" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.037782" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.041019" 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-08-18T20:12:19.038297" elapsed="0.002845"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.043648" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.041241" elapsed="0.002475"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.041214" elapsed="0.002538"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.047019" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:19.047064" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:19.043958" elapsed="0.003128"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:19.048817" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:19.047159" elapsed="0.001714"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.047141" elapsed="0.001755"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:19.048929" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:19.049119" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:19.049161" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:19.030597" elapsed="0.018586"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.051279" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.049724" elapsed="0.001600"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.049707" elapsed="0.001639"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.051895" 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-08-18T20:12:19.051487" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.052421" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:19.052077" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:19.052495" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:19.052670" 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-08-18T20:12:19.049388" elapsed="0.003307"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:19.052863" 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-08-18T20:12:19.030043" elapsed="0.023267"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.060975" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:19.060660" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.076672" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:19.077130" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:19.077803" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:19.061128" elapsed="0.016738"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.078847" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.078251" elapsed="0.000699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.083835" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:19.079270" elapsed="0.006702"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.088412" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.086133" elapsed="0.002328"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.086090" elapsed="0.002393"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.166244" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:19.166307" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:19.088620" elapsed="0.077712"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:19.168276" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:19.166447" elapsed="0.001890"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.166420" elapsed="0.001943"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:19.168401" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:12:19.168615" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:19.168659" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:19.060295" elapsed="0.108387"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.170864" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.169294" elapsed="0.001615"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.169276" elapsed="0.001655"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.171526" 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-08-18T20:12:19.171078" elapsed="0.000475"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.172093" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:19.171711" elapsed="0.000409"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:19.172170" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:19.172348" 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-08-18T20:12:19.168942" elapsed="0.003431"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:19.172527" 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-08-18T20:12:19.059672" elapsed="0.113336"/>
</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-08-18T20:12:19.012752" elapsed="0.160314"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:19.005930" elapsed="0.167257"/>
</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-08-18T20:12:19.183965" 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-08-18T20:12:19.184127" 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-08-18T20:12:19.183818" elapsed="0.000365"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.184726" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3880&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.184333" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.185201" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.184921" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.185639" 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-08-18T20:12:19.185373" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.186102" 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-08-18T20:12:19.185827" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.186818" 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-08-18T20:12:19.186273" elapsed="0.000576"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.187325" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.187000" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.187905" 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-08-18T20:12:19.187570" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.188438" 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-08-18T20:12:19.188094" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.188948" 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-08-18T20:12:19.188623" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.189455" 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-08-18T20:12:19.189143" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.189974" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3880&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.189644" 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-08-18T20:12:19.183478" elapsed="0.006592"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.190588" 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-08-18T20:12:19.190214" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.191021" 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-08-18T20:12:19.190781" 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-08-18T20:12:19.198798" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:19.198480" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.205562" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:19.205783" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:19.205905" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:19.198954" elapsed="0.006980"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.206407" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.206120" elapsed="0.000338"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.209235" 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-08-18T20:12:19.206621" elapsed="0.002757"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.212474" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.209495" elapsed="0.003059"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.209464" elapsed="0.003129"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.215388" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:19.215433" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:19.212855" elapsed="0.002600"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:19.217223" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:19.215527" elapsed="0.001751"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.215509" elapsed="0.001792"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:19.217335" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:19.217529" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:19.217571" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:19.198170" elapsed="0.019423"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.219690" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.218143" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.218126" elapsed="0.001634"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.220312" 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-08-18T20:12:19.219915" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.220854" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:19.220493" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:19.220945" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:19.221122" 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-08-18T20:12:19.217819" elapsed="0.003328"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:19.221298" 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-08-18T20:12:19.197600" elapsed="0.024150"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.229362" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:19.229056" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.246548" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:19.246740" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:19.247052" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:19.229516" elapsed="0.017563"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.247486" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.247236" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.249704" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:19.247671" elapsed="0.002985"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.252437" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.250726" elapsed="0.001760"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.250707" elapsed="0.001800"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.280667" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:19.280713" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:19.252641" elapsed="0.028095"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:19.282529" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:19.280830" elapsed="0.001755"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.280810" elapsed="0.001799"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:19.282643" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:19.282851" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:19.282895" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:19.228671" elapsed="0.054245"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.285015" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.283450" elapsed="0.001610"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.283432" elapsed="0.001649"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.285617" 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-08-18T20:12:19.285223" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.286165" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:19.285818" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:19.286279" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:19.286455" 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-08-18T20:12:19.283125" elapsed="0.003355"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:19.286632" 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-08-18T20:12:19.228077" elapsed="0.059073"/>
</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-08-18T20:12:19.180256" elapsed="0.106949"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:19.173516" elapsed="0.113806"/>
</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-08-18T20:12:19.298029" 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-08-18T20:12:19.298174" 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-08-18T20:12:19.297890" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.298757" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc090&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.298350" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.299224" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.298948" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.299659" 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-08-18T20:12:19.299396" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.300113" 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-08-18T20:12:19.299848" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.300880" 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-08-18T20:12:19.300283" elapsed="0.000627"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.301380" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.301061" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.301940" 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-08-18T20:12:19.301608" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.302449" 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-08-18T20:12:19.302130" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.302999" 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-08-18T20:12:19.302673" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.303495" 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-08-18T20:12:19.303187" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.304013" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc090&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.303683" 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-08-18T20:12:19.297554" elapsed="0.006558"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.304626" 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-08-18T20:12:19.304255" elapsed="0.000401"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.305053" 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-08-18T20:12:19.304817" elapsed="0.000294"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.312953" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:19.312642" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.319570" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:19.319899" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:19.320138" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:19.313105" elapsed="0.007089"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.321151" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.320545" elapsed="0.000706"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.326088" 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-08-18T20:12:19.321562" elapsed="0.004719"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.329077" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.326435" elapsed="0.002691"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.326393" elapsed="0.002755"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.331917" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:19.331962" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:19.329284" elapsed="0.002700"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:19.333728" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:19.332058" elapsed="0.001742"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.332040" elapsed="0.001784"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:19.333859" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:19.334050" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:19.334092" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:19.312335" elapsed="0.021779"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.336253" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.334649" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.334631" elapsed="0.001689"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.336873" 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-08-18T20:12:19.336462" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.337403" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:19.337057" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:19.337478" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:19.337653" 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-08-18T20:12:19.334321" elapsed="0.003357"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:19.337847" 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-08-18T20:12:19.311796" elapsed="0.026496"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.346167" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:19.345874" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.361951" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:19.362252" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&lt;/second&gt;&lt;nanosecond&gt;863000000&lt;/nanosecond&gt;&lt;/duration&gt;... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:12:19.362678" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:19.346319" elapsed="0.016398"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.363343" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.362974" elapsed="0.000435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.368044" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;10&lt;/second&gt;&lt;nanosecond&gt;679000000&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;9&lt;/second&gt;&lt;nanosecond&gt;344000000&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;10&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;dec-nw-ttl/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;10&lt;/second&gt;&lt;nanosecond&gt;748000000&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;10&lt;/second&gt;&lt;nanosecond&gt;780000000&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;10&lt;/second&gt;&lt;nanosecond&gt;822000000&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;9&lt;/second&gt;&lt;nanosecond&gt;374000000&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;9&lt;/second&gt;&lt;nanosecond&gt;419000000&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;10&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;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;9&lt;/second&gt;&lt;nanosecond&gt;457000000&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;10&lt;/second&gt;&lt;nanosecond&gt;901000000&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;9&lt;/second&gt;&lt;nanosecond&gt;490000000&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;10&lt;/second&gt;&lt;nanosecond&gt;933000000&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;9&lt;/second&gt;&lt;nanosecond&gt;527000000&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;10&lt;/second&gt;&lt;nanosecond&gt;976000000&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;9&lt;/second&gt;&lt;nanosecond&gt;563000000&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;11&lt;/second&gt;&lt;nanosecond&gt;12000000&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;11&lt;/second&gt;&lt;nanosecond&gt;55000000&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;10&lt;/second&gt;&lt;nanosecond&gt;53000000&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;10&lt;/second&gt;&lt;nanosecond&gt;352000000&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;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;389000000&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;9&lt;/second&gt;&lt;nanosecond&gt;230000000&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;10&lt;/second&gt;&lt;nanosecond&gt;429000000&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;264000000&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;10&lt;/second&gt;&lt;nanosecond&gt;458000000&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;10&lt;/second&gt;&lt;nanosecond&gt;489000000&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;10&lt;/second&gt;&lt;nanosecond&gt;526000000&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;10&lt;/second&gt;&lt;nanosecond&gt;568000000&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;9&lt;/second&gt;&lt;nanosecond&gt;308000000&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;10&lt;/second&gt;&lt;nanosecond&gt;601000000&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;10&lt;/second&gt;&lt;nanosecond&gt;630000000&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;9&lt;/second&gt;&lt;nanosecond&gt;671000000&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;9&lt;/second&gt;&lt;nanosecond&gt;720000000&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;10&lt;/second&gt;&lt;nanosecond&gt;201000000&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;9&lt;/second&gt;&lt;nanosecond&gt;759000000&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;8&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;796000000&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;9&lt;/second&gt;&lt;nanosecond&gt;832000000&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;9&lt;/second&gt;&lt;nanosecond&gt;869000000&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;9&lt;/second&gt;&lt;nanosecond&gt;905000000&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;9&lt;/second&gt;&lt;nanosecond&gt;24000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;942000000&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;9&lt;/second&gt;&lt;nanosecond&gt;55000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;239000000&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;9&lt;/second&gt;&lt;nanosecond&gt;979000000&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;9&lt;/second&gt;&lt;nanosecond&gt;91000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;277000000&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;10&lt;/second&gt;&lt;nanosecond&gt;16000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;10&lt;/second&gt;&lt;nanosecond&gt;312000000&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;9&lt;/second&gt;&lt;nanosecond&gt;130000000&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;10&lt;/second&gt;&lt;nanosecond&gt;92000000&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;10&lt;/second&gt;&lt;nanosecond&gt;126000000&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;10&lt;/second&gt;&lt;nanosecond&gt;150000000&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;9&lt;/second&gt;&lt;nanosecond&gt;637000000&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;9&lt;/second&gt;&lt;nanosecond&gt;603000000&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-08-18T20:12:19.363659" elapsed="0.006526"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.373039" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.370340" elapsed="0.002749"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.370299" elapsed="0.002812"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.399920" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:19.399967" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:19.373245" elapsed="0.026745"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:19.401752" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:19.400068" elapsed="0.001753"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.400049" elapsed="0.001796"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:19.401879" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:19.402072" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:19.402114" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:19.345489" elapsed="0.056647"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:19.404263" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:19.402675" elapsed="0.001666"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:19.402657" elapsed="0.001712"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.404936" 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-08-18T20:12:19.404516" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.405466" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:19.405121" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:19.405541" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:19.405717" 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-08-18T20:12:19.402349" elapsed="0.003397"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:19.405917" 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-08-18T20:12:19.344883" elapsed="0.061480"/>
</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-08-18T20:12:19.294324" elapsed="0.112095"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:19.287588" elapsed="0.118945"/>
</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-08-18T20:12:19.407711" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.407464" elapsed="0.000308"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.411163" 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-08-18T20:12:19.411297" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.411028" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.411877" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986356980&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.411474" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.412330" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.412055" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.412820" 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-08-18T20:12:19.412532" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.413264" 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-08-18T20:12:19.412995" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.414028" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.413436" elapsed="0.000623"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.414530" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.414218" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.415093" 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-08-18T20:12:19.414781" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.415594" 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-08-18T20:12:19.415284" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.416101" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.415800" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.416612" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.416293" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.417129" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986356980&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.416822" 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-08-18T20:12:19.410683" elapsed="0.006544"/>
</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-08-18T20:12:19.426238" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.425988" elapsed="0.000307"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.440645" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.440818" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.441067" 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-08-18T20:12:19.426422" elapsed="0.014703"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.445783" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.441469" elapsed="0.004409"/>
</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-08-18T20:12:19.425540" elapsed="0.020459"/>
</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-08-18T20:12:19.417375" elapsed="0.028718"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.407338" elapsed="0.038813"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.446856" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.446476" 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-08-18T20:12:19.451958" 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-08-18T20:12:19.452260" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.451711" elapsed="0.000592"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.453132" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986321120&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.452520" elapsed="0.000710"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.453888" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.453456" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.454378" 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-08-18T20:12:19.454115" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.454827" 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-08-18T20:12:19.454546" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.455558" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.454997" elapsed="0.000591"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.456062" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.455736" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.456548" 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-08-18T20:12:19.456250" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.457057" 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-08-18T20:12:19.456734" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.457549" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.457256" elapsed="0.000336"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.458052" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.457737" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.458541" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986321120&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.458244" elapsed="0.000338"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:19.451231" elapsed="0.007403"/>
</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-08-18T20:12:19.465695" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.465450" elapsed="0.000302"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.475857" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.475986" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.476117" 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-08-18T20:12:19.465893" elapsed="0.010260"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.480201" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.476382" elapsed="0.003911"/>
</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-08-18T20:12:19.465017" elapsed="0.015397"/>
</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-08-18T20:12:19.458791" elapsed="0.021737"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.446294" elapsed="0.034319"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.481683" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.481124" 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-08-18T20:12:19.487523" 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-08-18T20:12:19.487655" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.487390" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.488220" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863217b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.487846" elapsed="0.000401"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.488661" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.488393" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.489114" 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-08-18T20:12:19.488849" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.489547" 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-08-18T20:12:19.489284" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.490287" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.489714" elapsed="0.000603"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.490790" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.490465" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.491278" 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-08-18T20:12:19.490979" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.491783" 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-08-18T20:12:19.491464" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.492262" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.491970" elapsed="0.000335"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.492750" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.492449" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.493248" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863217b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.492950" elapsed="0.000338"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:19.487064" elapsed="0.006277"/>
</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-08-18T20:12:19.500436" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.500190" elapsed="0.000336"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.507499" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.507558" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.507645" 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-08-18T20:12:19.500652" elapsed="0.007018"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.509878" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.507850" elapsed="0.002070"/>
</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-08-18T20:12:19.499756" elapsed="0.010220"/>
</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-08-18T20:12:19.493484" elapsed="0.016544"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.480854" elapsed="0.029213"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.510562" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.510319" elapsed="0.000286"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.515428" 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-08-18T20:12:19.515600" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.515244" elapsed="0.000396"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.516417" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf600&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.515879" elapsed="0.000577"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.517065" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.516659" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.517675" 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-08-18T20:12:19.517308" elapsed="0.000402"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.518388" 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-08-18T20:12:19.517957" elapsed="0.000471"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.519433" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.518633" elapsed="0.000830"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.519938" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.519614" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.520430" 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-08-18T20:12:19.520132" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.520932" 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-08-18T20:12:19.520614" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.521407" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.521115" elapsed="0.000336"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.521945" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.521628" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.522446" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf600&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.522132" 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-08-18T20:12:19.514784" elapsed="0.007756"/>
</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-08-18T20:12:19.529582" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.529338" elapsed="0.000302"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.539109" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.539193" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.539313" 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-08-18T20:12:19.529779" elapsed="0.009569"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.542388" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.539563" elapsed="0.002884"/>
</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-08-18T20:12:19.528914" elapsed="0.013612"/>
</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-08-18T20:12:19.522683" elapsed="0.019916"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.510160" elapsed="0.032494"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.543362" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.543019" elapsed="0.000404"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.548097" 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-08-18T20:12:19.548270" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.547913" elapsed="0.000398"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.549077" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abfc90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.548512" elapsed="0.000604"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.549751" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.549321" elapsed="0.000486"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.550386" 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-08-18T20:12:19.550015" elapsed="0.000407"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.551084" 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-08-18T20:12:19.550629" elapsed="0.000492"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.552205" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.551325" elapsed="0.000911"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.552696" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.552387" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.553205" 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-08-18T20:12:19.552905" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.553695" 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-08-18T20:12:19.553392" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.554193" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.553899" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.554680" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.554382" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.555227" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abfc90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.554887" 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-08-18T20:12:19.547435" elapsed="0.007886"/>
</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-08-18T20:12:19.562491" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.562246" elapsed="0.000304"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.575105" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.575191" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.575391" 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-08-18T20:12:19.562674" elapsed="0.012755"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.580025" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.575645" elapsed="0.004475"/>
</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-08-18T20:12:19.561823" elapsed="0.018419"/>
</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-08-18T20:12:19.555465" elapsed="0.024893"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.542845" elapsed="0.037600"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.581507" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.580965" elapsed="0.000638"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.586438" 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-08-18T20:12:19.586561" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.586307" elapsed="0.000283"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.587135" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe9d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.586735" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.587592" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.587309" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.588044" 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-08-18T20:12:19.587779" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.588474" 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-08-18T20:12:19.588213" elapsed="0.000286"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.589258" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.588641" elapsed="0.000647"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.589750" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.589439" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.590258" 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-08-18T20:12:19.589953" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.590846" 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-08-18T20:12:19.590523" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.591327" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.591034" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.591863" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.591515" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.592353" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe9d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.592055" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:19.585978" elapsed="0.006469"/>
</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-08-18T20:12:19.599503" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.599257" elapsed="0.000341"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.609040" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.609101" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.609187" 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-08-18T20:12:19.599722" elapsed="0.009490"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.611385" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.609365" elapsed="0.002063"/>
</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-08-18T20:12:19.598831" elapsed="0.012652"/>
</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-08-18T20:12:19.592589" elapsed="0.018946"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.580654" elapsed="0.030919"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.612090" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.611807" elapsed="0.000326"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.616789" 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-08-18T20:12:19.616962" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.616582" elapsed="0.000420"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.617774" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37ba0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.617205" elapsed="0.000611"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.618398" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.618019" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.619027" 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-08-18T20:12:19.618635" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.619632" 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-08-18T20:12:19.619264" elapsed="0.000402"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.620884" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.619889" elapsed="0.001037"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.621496" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.621158" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.622007" 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-08-18T20:12:19.621689" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.622496" 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-08-18T20:12:19.622191" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.622994" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.622680" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.623519" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.623217" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.624028" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37ba0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.623708" 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-08-18T20:12:19.616113" elapsed="0.008014"/>
</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-08-18T20:12:19.631489" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.631243" elapsed="0.000307"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.642174" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.642238" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.642325" 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-08-18T20:12:19.631673" elapsed="0.010677"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.645188" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.642503" elapsed="0.002744"/>
</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-08-18T20:12:19.630818" elapsed="0.014505"/>
</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-08-18T20:12:19.624285" elapsed="0.021111"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.611667" elapsed="0.033783"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.646120" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.645775" elapsed="0.000405"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.650929" 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-08-18T20:12:19.651103" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.650722" elapsed="0.000456"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.651977" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3060&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.651385" elapsed="0.000630"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.652596" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.652219" elapsed="0.000412"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.653275" 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-08-18T20:12:19.652886" elapsed="0.000415"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.653713" 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-08-18T20:12:19.653448" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.654612" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.653900" elapsed="0.000741"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.655116" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.654807" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.655604" 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-08-18T20:12:19.655305" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.656115" 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-08-18T20:12:19.655805" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.656594" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.656301" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.657109" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.656808" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.657596" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3060&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.657297" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:19.650266" elapsed="0.007425"/>
</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-08-18T20:12:19.664850" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.664584" elapsed="0.000370"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.675507" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.675601" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.675691" 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-08-18T20:12:19.665096" elapsed="0.010620"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.678707" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.675893" elapsed="0.002897"/>
</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-08-18T20:12:19.664162" elapsed="0.014710"/>
</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-08-18T20:12:19.657853" elapsed="0.021092"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.645582" elapsed="0.033417"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.679640" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.679303" elapsed="0.000397"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.684478" 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-08-18T20:12:19.684651" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.684295" elapsed="0.000394"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.685511" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f18a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.684915" elapsed="0.000635"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.686134" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.685776" elapsed="0.000384"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.686567" 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-08-18T20:12:19.686305" elapsed="0.000287"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.687017" 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-08-18T20:12:19.686736" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.687897" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.687185" elapsed="0.000742"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.688384" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.688076" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.688889" 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-08-18T20:12:19.688572" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.689397" 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-08-18T20:12:19.689077" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.689893" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.689583" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.690382" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.690082" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.690885" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f18a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.690570" 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-08-18T20:12:19.683835" elapsed="0.007145"/>
</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-08-18T20:12:19.698102" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.697855" elapsed="0.000347"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.712096" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.712186" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.712305" 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-08-18T20:12:19.698327" elapsed="0.014013"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.715448" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.712553" elapsed="0.002955"/>
</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-08-18T20:12:19.697367" elapsed="0.018220"/>
</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-08-18T20:12:19.691129" elapsed="0.024534"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.679132" elapsed="0.036586"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.716393" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.716051" elapsed="0.000402"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.721205" 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-08-18T20:12:19.721378" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.721019" elapsed="0.000399"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.722241" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d120&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.721621" elapsed="0.000660"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.722886" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.722484" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.723493" 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-08-18T20:12:19.723125" elapsed="0.000404"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.724124" 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-08-18T20:12:19.723730" elapsed="0.000430"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.725466" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.724359" elapsed="0.001149"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.726190" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.725718" elapsed="0.000530"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.726901" 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-08-18T20:12:19.726455" elapsed="0.000503"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.727588" 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-08-18T20:12:19.727162" elapsed="0.000481"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.728341" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.727924" elapsed="0.000479"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.729056" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.728608" elapsed="0.000510"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.729747" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d120&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.729322" elapsed="0.000502"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:19.720541" elapsed="0.009361"/>
</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-08-18T20:12:19.737392" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.737143" elapsed="0.000311"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.746693" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.746781" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.746871" 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-08-18T20:12:19.737577" elapsed="0.009320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.751666" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.747052" elapsed="0.004740"/>
</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-08-18T20:12:19.736702" elapsed="0.015225"/>
</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-08-18T20:12:19.730155" elapsed="0.021890"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.715877" elapsed="0.036255"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.753270" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.752690" elapsed="0.000677"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.757704" 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-08-18T20:12:19.757846" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.757571" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.758426" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c38b30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.758022" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.758906" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.758615" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.759344" 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-08-18T20:12:19.759079" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.759799" 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-08-18T20:12:19.759516" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.760676" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.759972" elapsed="0.000734"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.761187" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.760875" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.761679" 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-08-18T20:12:19.761377" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.762192" 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-08-18T20:12:19.761883" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.762725" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.762381" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.763242" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.762939" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.763731" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c38b30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.763433" 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-08-18T20:12:19.757247" elapsed="0.006599"/>
</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-08-18T20:12:19.771064" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.770784" elapsed="0.000343"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.782208" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.782420" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.782621" 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-08-18T20:12:19.771251" elapsed="0.011426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.787739" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.783115" elapsed="0.004757"/>
</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-08-18T20:12:19.770342" elapsed="0.017658"/>
</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-08-18T20:12:19.763991" elapsed="0.024117"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.752411" elapsed="0.035752"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.788830" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.788470" 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-08-18T20:12:19.793576" 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-08-18T20:12:19.793755" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.793392" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.794580" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570d3a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.794019" elapsed="0.000600"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.795278" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.794845" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.795933" 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-08-18T20:12:19.795535" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.796414" 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-08-18T20:12:19.796150" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.797292" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.796584" elapsed="0.000738"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.797799" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.797473" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.798298" 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-08-18T20:12:19.797991" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.798809" 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-08-18T20:12:19.798486" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.799308" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.798998" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.799819" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.799500" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.800310" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570d3a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.800010" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:19.792939" elapsed="0.007465"/>
</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-08-18T20:12:19.807533" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.807259" elapsed="0.000376"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.819522" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.819619" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.819809" 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-08-18T20:12:19.807778" elapsed="0.012069"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.824350" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.820066" elapsed="0.004379"/>
</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-08-18T20:12:19.806830" elapsed="0.017742"/>
</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-08-18T20:12:19.800546" elapsed="0.024145"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.788297" elapsed="0.036518"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.825896" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.825313" 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-08-18T20:12:19.830526" 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-08-18T20:12:19.830649" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.830394" elapsed="0.000284"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.831233" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98638dc60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.830842" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.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-08-18T20:12:19.831407" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.832155" 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-08-18T20:12:19.831868" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.832590" 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-08-18T20:12:19.832326" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.833412" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:19.832775" elapsed="0.000667"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.833918" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.833592" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.834409" 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-08-18T20:12:19.834109" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.834917" 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-08-18T20:12:19.834594" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.835437" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.835140" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.835976" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:19.835627" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.836473" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98638dc60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.836169" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:19.830068" elapsed="0.006499"/>
</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-08-18T20:12:19.843638" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:19.843392" elapsed="0.000307"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.853266" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.853406" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.853600" 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-08-18T20:12:19.843841" elapsed="0.009814"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.860012" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.854046" elapsed="0.006062"/>
</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-08-18T20:12:19.842968" elapsed="0.017267"/>
</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-08-18T20:12:19.836710" elapsed="0.023648"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.825034" elapsed="0.035490"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.861320" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.861060" 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-08-18T20:12:19.864724" 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-08-18T20:12:19.864893" 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-08-18T20:12:19.864591" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.865461" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98638dee0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.865068" elapsed="0.000421"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.865926" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.865635" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.866365" 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-08-18T20:12:19.866099" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.866822" 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-08-18T20:12:19.866536" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.867623" 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-08-18T20:12:19.866996" elapsed="0.000657"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.868128" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.867818" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.868643" 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-08-18T20:12:19.868316" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.869152" 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-08-18T20:12:19.868847" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.869627" 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-08-18T20:12:19.869336" elapsed="0.000335"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.870138" 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-08-18T20:12:19.869834" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.870625" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98638dee0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.870327" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:19.864251" elapsed="0.006469"/>
</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-08-18T20:12:19.877918" 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-08-18T20:12:19.877651" elapsed="0.000327"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.888111" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.888240" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.888366" 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-08-18T20:12:19.878101" elapsed="0.010299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.891492" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.888616" elapsed="0.002935"/>
</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-08-18T20:12:19.877227" elapsed="0.014400"/>
</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-08-18T20:12:19.870883" elapsed="0.020817"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.860743" elapsed="0.031032"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.892423" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.892085" elapsed="0.000397"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.897304" 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-08-18T20:12:19.897476" 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-08-18T20:12:19.897119" elapsed="0.000397"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.898287" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2a9d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.897719" elapsed="0.000606"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.898931" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.898529" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.899540" 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-08-18T20:12:19.899172" elapsed="0.000404"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.900174" 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-08-18T20:12:19.899803" elapsed="0.000406"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.901336" 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-08-18T20:12:19.900410" elapsed="0.000968"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.902044" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.901590" elapsed="0.000510"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.902557" 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-08-18T20:12:19.902255" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.903065" 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-08-18T20:12:19.902747" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.903543" 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-08-18T20:12:19.903250" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.904047" 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-08-18T20:12:19.903731" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.904540" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2a9d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.904237" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:19.896626" elapsed="0.008007"/>
</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-08-18T20:12:19.911784" 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-08-18T20:12:19.911519" elapsed="0.000365"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.923245" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.923331" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.923452" 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-08-18T20:12:19.912012" elapsed="0.011474"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.926984" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.923706" elapsed="0.003375"/>
</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-08-18T20:12:19.911093" elapsed="0.016114"/>
</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-08-18T20:12:19.904793" elapsed="0.022536"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.891911" elapsed="0.035506"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.928499" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.927944" elapsed="0.000653"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.935059" 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-08-18T20:12:19.935183" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:19.934926" elapsed="0.000285"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.935739" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d030&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.935358" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.936209" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.935936" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.936649" 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-08-18T20:12:19.936382" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.937115" 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-08-18T20:12:19.936839" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.937872" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:19.937289" elapsed="0.000614"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.938365" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.938056" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.938883" 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-08-18T20:12:19.938555" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.939382" 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-08-18T20:12:19.939075" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.939883" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:19.939571" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.940420" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:19.940118" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.940933" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d030&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.940612" 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-08-18T20:12:19.934583" elapsed="0.006446"/>
</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-08-18T20:12:19.948165" level="INFO">&lt;?xml version="1.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-08-18T20:12:19.947917" elapsed="0.000305"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.957930" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.957989" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.958078" 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-08-18T20:12:19.948348" elapsed="0.009755"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.961918" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.958308" elapsed="0.003707"/>
</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-08-18T20:12:19.947474" elapsed="0.014665"/>
</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-08-18T20:12:19.941175" elapsed="0.021107"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.927629" elapsed="0.034741"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.963446" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.962894" elapsed="0.000650"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:19.968896" 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-08-18T20:12:19.969019" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:19.968748" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:19.969572" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3d490&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:19.969195" elapsed="0.000405"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.970039" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:19.969751" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.970530" 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-08-18T20:12:19.970245" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:19.970992" 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-08-18T20:12:19.970704" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:19.971691" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:19.971168" elapsed="0.000553"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.972200" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.971891" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.972688" 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-08-18T20:12:19.972388" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.973198" 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-08-18T20:12:19.972891" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.973675" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:19.973383" elapsed="0.000336"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.974186" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:19.973881" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.974727" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3d490&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:19.974379" elapsed="0.000409"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:19.968419" elapsed="0.006426"/>
</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-08-18T20:12:19.982141" level="INFO">&lt;?xml version="1.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-08-18T20:12:19.981892" elapsed="0.000303"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:19.994603" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:19.994661" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:19.994794" 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-08-18T20:12:19.982319" elapsed="0.012503"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:19.999478" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:19.994985" elapsed="0.004591"/>
</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-08-18T20:12:19.981453" elapsed="0.018250"/>
</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-08-18T20:12:19.974991" elapsed="0.024870"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-08-18T20:12:19.962582" elapsed="0.037442"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.001131" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.000531" elapsed="0.000699"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.005679" 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-08-18T20:12:20.005820" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.005547" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.006374" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37420&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.005996" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.006839" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.006549" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.007315" 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-08-18T20:12:20.007043" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.007754" 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-08-18T20:12:20.007488" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.008467" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.007938" elapsed="0.000559"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.008972" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.008646" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.009463" 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-08-18T20:12:20.009165" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.009971" 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-08-18T20:12:20.009649" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.010450" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.010155" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.010955" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.010638" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.011476" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37420&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.011175" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.005220" elapsed="0.006351"/>
</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-08-18T20:12:20.018663" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.018416" elapsed="0.000303"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.029480" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.029676" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.029928" 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-08-18T20:12:20.018859" elapsed="0.011127"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.034952" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.030330" elapsed="0.004719"/>
</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-08-18T20:12:20.017992" elapsed="0.017183"/>
</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-08-18T20:12:20.011714" elapsed="0.023580"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.000249" elapsed="0.035130"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.036352" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.035954" elapsed="0.000458"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.041149" 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-08-18T20:12:20.041321" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.040959" elapsed="0.000401"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.042140" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37b00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.041563" elapsed="0.000616"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.042790" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.042384" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.043407" 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-08-18T20:12:20.043035" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.044081" 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-08-18T20:12:20.043682" elapsed="0.000429"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.044931" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.044255" elapsed="0.000706"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.045420" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.045112" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.045927" 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-08-18T20:12:20.045608" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.046421" 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-08-18T20:12:20.046115" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.046917" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.046606" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.047412" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.047112" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.047944" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37b00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.047601" 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-08-18T20:12:20.040475" elapsed="0.007564"/>
</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-08-18T20:12:20.055109" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.054863" elapsed="0.000345"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.064061" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.064150" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.064271" 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-08-18T20:12:20.055334" elapsed="0.008972"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.067372" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.064523" elapsed="0.002908"/>
</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-08-18T20:12:20.054424" elapsed="0.013086"/>
</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-08-18T20:12:20.048181" elapsed="0.019403"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.035641" elapsed="0.031997"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.068347" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.067966" 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-08-18T20:12:20.073125" 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-08-18T20:12:20.073296" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.072940" elapsed="0.000395"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.074111" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570dee0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.073538" elapsed="0.000612"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.074733" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.074355" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.075374" 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-08-18T20:12:20.074997" elapsed="0.000413"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.076008" 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-08-18T20:12:20.075614" elapsed="0.000429"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.077188" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.076278" elapsed="0.000940"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.077677" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.077369" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.078186" 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-08-18T20:12:20.077883" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.078677" 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-08-18T20:12:20.078373" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.079213" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.078912" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.079705" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.079404" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.080216" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570dee0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.079914" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.072458" elapsed="0.007869"/>
</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-08-18T20:12:20.087670" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.087421" elapsed="0.000312"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.098158" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.098246" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.098368" 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-08-18T20:12:20.087877" elapsed="0.010526"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.101536" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.098618" elapsed="0.002978"/>
</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-08-18T20:12:20.086849" elapsed="0.014826"/>
</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-08-18T20:12:20.080472" elapsed="0.021283"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.067791" elapsed="0.034037"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.102478" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.102135" elapsed="0.000404"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.107244" 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-08-18T20:12:20.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;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-08-18T20:12:20.107059" elapsed="0.000443"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.108294" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570fd80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.107705" elapsed="0.000629"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.109005" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.108543" elapsed="0.000499"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.109475" 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-08-18T20:12:20.109208" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.109935" 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-08-18T20:12:20.109649" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.110809" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.110105" elapsed="0.000735"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.111301" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.110993" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.111811" 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-08-18T20:12:20.111491" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.112304" 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-08-18T20:12:20.111999" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.112801" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.112490" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.113311" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.113006" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.113818" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570fd80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.113501" 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-08-18T20:12:20.106583" elapsed="0.007332"/>
</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-08-18T20:12:20.121059" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.120796" elapsed="0.000326"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.131976" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.132112" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.132238" 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-08-18T20:12:20.121245" elapsed="0.011028"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.136176" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.132487" elapsed="0.003785"/>
</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-08-18T20:12:20.120357" elapsed="0.016041"/>
</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-08-18T20:12:20.114060" elapsed="0.022457"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.101962" elapsed="0.034643"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.137707" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.137136" 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-08-18T20:12:20.143585" 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-08-18T20:12:20.143708" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.143455" elapsed="0.000281"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.144272" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0270&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.143900" elapsed="0.000399"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.144713" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.144444" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.145173" 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-08-18T20:12:20.144903" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.145620" 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-08-18T20:12:20.145342" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.146320" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.145806" elapsed="0.000543"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.146826" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.146500" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.147316" 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-08-18T20:12:20.147016" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.147824" 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-08-18T20:12:20.147502" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.148303" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.148012" elapsed="0.000335"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.148806" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.148491" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.149294" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0270&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.148996" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.143129" elapsed="0.006258"/>
</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-08-18T20:12:20.156468" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.156224" elapsed="0.000333"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.165414" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.165471" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.165557" 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-08-18T20:12:20.156683" elapsed="0.008898"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.169995" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.165736" elapsed="0.004356"/>
</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-08-18T20:12:20.155800" elapsed="0.014418"/>
</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-08-18T20:12:20.149561" elapsed="0.020777"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.136856" elapsed="0.033567"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.171490" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.170947" elapsed="0.000639"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.176933" 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-08-18T20:12:20.177058" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.176801" elapsed="0.000286"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.177637" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986354810&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.177232" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.178116" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.177827" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.178550" 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-08-18T20:12:20.178286" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.179002" 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-08-18T20:12:20.178719" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.179893" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.179176" elapsed="0.000747"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.180386" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.180074" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.180896" 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-08-18T20:12:20.180576" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.181390" 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-08-18T20:12:20.181083" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.181887" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.181575" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.182411" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.182081" elapsed="0.000412"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.182969" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986354810&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.182644" 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-08-18T20:12:20.176459" elapsed="0.006606"/>
</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-08-18T20:12:20.190172" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.189921" elapsed="0.000346"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.200135" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.200280" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.200474" 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-08-18T20:12:20.190406" elapsed="0.010124"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.205566" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.200912" elapsed="0.004750"/>
</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-08-18T20:12:20.189480" elapsed="0.016347"/>
</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-08-18T20:12:20.183215" elapsed="0.022738"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.170636" elapsed="0.035405"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.207149" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.206605" elapsed="0.000588"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.210537" 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-08-18T20:12:20.210678" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.210405" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.211295" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.210904" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.211745" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.211470" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.212197" 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-08-18T20:12:20.211932" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.212632" 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-08-18T20:12:20.212367" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.213417" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:20.212820" elapsed="0.000627"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.213926" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.213597" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.214423" 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-08-18T20:12:20.214122" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.214962" 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-08-18T20:12:20.214609" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.215447" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.215151" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.215955" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:20.215636" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.216445" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.216145" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.210079" elapsed="0.006460"/>
</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-08-18T20:12:20.223694" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.223449" elapsed="0.000309"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.234599" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.234704" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.234833" 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-08-18T20:12:20.223897" elapsed="0.010962"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.239792" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.235050" elapsed="0.004841"/>
</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-08-18T20:12:20.223025" elapsed="0.016994"/>
</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-08-18T20:12:20.216684" elapsed="0.023454"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.206261" elapsed="0.033966"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.241291" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.240721" 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-08-18T20:12:20.246304" 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-08-18T20:12:20.246443" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.246168" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.247032" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2980&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.246618" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.247494" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.247206" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.247950" 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-08-18T20:12:20.247667" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.248385" 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-08-18T20:12:20.248119" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.249159" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:20.248554" elapsed="0.000635"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.249656" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.249344" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.250166" 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-08-18T20:12:20.249864" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.250737" 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-08-18T20:12:20.250431" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.251239" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.250942" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.251779" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:20.251458" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.252278" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2980&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.251971" 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-08-18T20:12:20.245824" elapsed="0.006548"/>
</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-08-18T20:12:20.259512" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.259241" elapsed="0.000368"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.273973" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.274105" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.274301" 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-08-18T20:12:20.259738" elapsed="0.014620"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.280666" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.274705" elapsed="0.006022"/>
</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-08-18T20:12:20.258813" elapsed="0.022097"/>
</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-08-18T20:12:20.252515" elapsed="0.028470"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.240445" elapsed="0.040626"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.281726" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.281385" elapsed="0.000424"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.286494" 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-08-18T20:12:20.286668" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:20.286310" elapsed="0.000397"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.287474" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863213a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.286933" elapsed="0.000579"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.288185" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.287716" elapsed="0.000506"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.288824" 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-08-18T20:12:20.288428" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.289342" 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-08-18T20:12:20.289066" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.290121" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.289511" elapsed="0.000640"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.290612" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.290302" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.291123" 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-08-18T20:12:20.290820" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.291615" 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-08-18T20:12:20.291309" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.292132" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:20.291819" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.292676" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.292374" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.293193" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863213a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.292887" 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-08-18T20:12:20.285855" elapsed="0.007433"/>
</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-08-18T20:12:20.300446" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.300196" elapsed="0.000308"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.310828" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.310917" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.311045" 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-08-18T20:12:20.300629" elapsed="0.010452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.315137" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.311311" elapsed="0.003927"/>
</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-08-18T20:12:20.299746" elapsed="0.015630"/>
</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-08-18T20:12:20.293431" elapsed="0.022071"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.281210" elapsed="0.034388"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.316818" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.316171" 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-08-18T20:12:20.322904" 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-08-18T20:12:20.323041" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.322754" elapsed="0.000316"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.323619" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986356e80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.323218" elapsed="0.000429"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.324093" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.323813" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.324595" 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-08-18T20:12:20.324312" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.325059" 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-08-18T20:12:20.324785" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.325913" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:20.325234" elapsed="0.000710"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.326417" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.326100" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.326934" 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-08-18T20:12:20.326610" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.327434" 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-08-18T20:12:20.327126" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.327938" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.327622" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.328441" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:20.328137" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.328987" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986356e80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.328663" 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-08-18T20:12:20.322382" elapsed="0.006703"/>
</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-08-18T20:12:20.336206" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.335960" elapsed="0.000306"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.346905" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.346967" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.347055" 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-08-18T20:12:20.336391" elapsed="0.010690"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.352160" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.347502" elapsed="0.004752"/>
</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-08-18T20:12:20.335516" elapsed="0.016864"/>
</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-08-18T20:12:20.329233" elapsed="0.023262"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.315869" elapsed="0.036714"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.353791" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.353200" 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-08-18T20:12:20.359629" 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-08-18T20:12:20.359790" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:20.359495" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.360351" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863990d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.359968" elapsed="0.000410"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.360819" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.360526" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.361279" 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-08-18T20:12:20.360995" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.361723" 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-08-18T20:12:20.361454" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.362510" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.361913" elapsed="0.000628"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.363029" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.362694" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.363666" 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-08-18T20:12:20.363221" elapsed="0.000486"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.364187" 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-08-18T20:12:20.363875" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.364677" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:20.364377" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.365221" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.364889" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.365723" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863990d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.365418" 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-08-18T20:12:20.359169" elapsed="0.006668"/>
</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-08-18T20:12:20.373075" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.372828" elapsed="0.000340"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.385783" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.385845" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.385931" 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-08-18T20:12:20.373295" elapsed="0.012661"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.390810" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.386141" elapsed="0.004769"/>
</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-08-18T20:12:20.372383" elapsed="0.018652"/>
</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-08-18T20:12:20.365983" elapsed="0.025171"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.352840" elapsed="0.038401"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.392306" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.391731" 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-08-18T20:12:20.396808" 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-08-18T20:12:20.396933" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.396659" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.397511" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.397108" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.397984" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.397688" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.398418" 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-08-18T20:12:20.398155" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.398874" 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-08-18T20:12:20.398589" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.399731" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.399043" elapsed="0.000737"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.400241" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.399933" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.400729" 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-08-18T20:12:20.400431" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.401235" 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-08-18T20:12:20.400932" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.401717" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.401419" elapsed="0.000444"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.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;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-08-18T20:12:20.402017" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.402833" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.402513" 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-08-18T20:12:20.396334" elapsed="0.006596"/>
</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-08-18T20:12:20.410096" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.409818" elapsed="0.000340"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.421047" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.421188" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.421382" 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-08-18T20:12:20.410284" elapsed="0.011154"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.426505" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.421821" elapsed="0.004778"/>
</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-08-18T20:12:20.409375" elapsed="0.017348"/>
</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-08-18T20:12:20.403075" elapsed="0.023804"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.391451" elapsed="0.035516"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.427775" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.427392" 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-08-18T20:12:20.433035" 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-08-18T20:12:20.433223" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.432834" elapsed="0.000477"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.434168" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37920&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.433532" elapsed="0.000677"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.434916" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.434479" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.435413" 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-08-18T20:12:20.435147" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.435870" 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-08-18T20:12:20.435586" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.436787" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.436043" elapsed="0.000775"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.437287" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.436974" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.437797" 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-08-18T20:12:20.437478" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.438301" 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-08-18T20:12:20.437986" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.438815" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.438502" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.439310" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.439009" elapsed="0.000427"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.439906" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37920&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.439585" 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-08-18T20:12:20.432247" elapsed="0.007755"/>
</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-08-18T20:12:20.447152" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.446901" elapsed="0.000314"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.457321" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.457463" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.457589" 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-08-18T20:12:20.447339" elapsed="0.010285"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.461929" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.457874" elapsed="0.004153"/>
</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-08-18T20:12:20.446453" elapsed="0.015700"/>
</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-08-18T20:12:20.440148" elapsed="0.022125"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.427199" elapsed="0.035162"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.463455" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.462907" elapsed="0.000644"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.468990" 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-08-18T20:12:20.469115" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.468855" elapsed="0.000288"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.469693" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570d4e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.469289" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.470158" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.469885" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.470595" 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-08-18T20:12:20.470330" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.471060" 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-08-18T20:12:20.470781" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.471959" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.471229" elapsed="0.000760"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.472449" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.472141" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.472959" 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-08-18T20:12:20.472637" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.473452" 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-08-18T20:12:20.473146" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.473950" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.473638" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.474557" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.474140" elapsed="0.000462"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.475096" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570d4e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.474751" elapsed="0.000386"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.468512" elapsed="0.006678"/>
</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-08-18T20:12:20.482288" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.482036" elapsed="0.000354"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.492657" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.492722" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.492833" 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-08-18T20:12:20.482518" elapsed="0.010341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.497558" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.493014" elapsed="0.004639"/>
</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-08-18T20:12:20.481596" elapsed="0.016215"/>
</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-08-18T20:12:20.475332" elapsed="0.022602"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.462575" elapsed="0.035445"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.499095" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.498508" 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-08-18T20:12:20.505413" 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-08-18T20:12:20.505537" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.505280" elapsed="0.000286"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.506133" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2b150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.505712" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.506579" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.506308" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.507036" 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-08-18T20:12:20.506755" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.507496" 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-08-18T20:12:20.507214" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.508367" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.507667" elapsed="0.000730"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.508875" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.508549" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.509368" 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-08-18T20:12:20.509067" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.509877" 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-08-18T20:12:20.509555" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.510408" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.510111" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.510917" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.510598" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.511413" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2b150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.511110" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.504953" elapsed="0.006584"/>
</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-08-18T20:12:20.518805" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.518541" elapsed="0.000327"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.529171" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.529234" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.529321" 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-08-18T20:12:20.518994" elapsed="0.010352"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.533491" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.529503" elapsed="0.004083"/>
</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-08-18T20:12:20.518107" elapsed="0.015606"/>
</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-08-18T20:12:20.511682" elapsed="0.022186"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.498231" elapsed="0.035724"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.535025" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.534447" 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-08-18T20:12:20.541917" 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-08-18T20:12:20.542071" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.541782" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.542654" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c5e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.542252" elapsed="0.000430"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.543129" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.542848" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.543569" 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-08-18T20:12:20.543304" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.544045" 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-08-18T20:12:20.543746" elapsed="0.000325"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.544923" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.544217" elapsed="0.000737"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.545422" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.545106" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.545929" 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-08-18T20:12:20.545612" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.546423" 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-08-18T20:12:20.546117" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.546922" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.546609" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.547416" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.547115" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.547931" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c5e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.547608" 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-08-18T20:12:20.541440" 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-08-18T20:12:20.555235" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.554977" elapsed="0.000321"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.567054" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.567156" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.567247" 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-08-18T20:12:20.555426" elapsed="0.011846"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.569526" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.567430" elapsed="0.002140"/>
</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-08-18T20:12:20.554533" elapsed="0.015094"/>
</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-08-18T20:12:20.548284" elapsed="0.021396"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.534165" elapsed="0.035554"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.570211" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.569962" 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-08-18T20:12:20.573677" 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-08-18T20:12:20.573836" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.573543" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.574432" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3ebb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.574012" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.574901" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.574608" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.575338" 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-08-18T20:12:20.575073" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.575790" 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-08-18T20:12:20.575509" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.576678" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.575963" elapsed="0.000745"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.577200" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.576881" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.577689" 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-08-18T20:12:20.577389" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.578198" 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-08-18T20:12:20.577892" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.578678" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.578384" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.579184" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.578884" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.579672" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3ebb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.579373" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.573212" elapsed="0.006571"/>
</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-08-18T20:12:20.586901" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.586634" elapsed="0.000368"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.601231" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.601373" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.601567" 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-08-18T20:12:20.587129" elapsed="0.014493"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.606481" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.602005" elapsed="0.004536"/>
</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-08-18T20:12:20.586194" elapsed="0.020426"/>
</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-08-18T20:12:20.579933" elapsed="0.026761"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.569836" elapsed="0.036916"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.607425" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.607084" elapsed="0.000402"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.612186" 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-08-18T20:12:20.612361" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.612000" elapsed="0.000401"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.613255" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570f970&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.612606" elapsed="0.000688"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.613905" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.613500" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.614468" 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-08-18T20:12:20.614166" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.614922" 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-08-18T20:12:20.614640" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.615841" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.615091" elapsed="0.000780"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.616333" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.616023" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.616841" 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-08-18T20:12:20.616522" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.617400" 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-08-18T20:12:20.617031" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.617953" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.617634" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.618451" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.618150" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.618960" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570f970&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.618642" 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-08-18T20:12:20.611519" elapsed="0.007537"/>
</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-08-18T20:12:20.626210" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.625962" elapsed="0.000312"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.636313" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.636381" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.636467" 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-08-18T20:12:20.626398" elapsed="0.010094"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.639561" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.636647" 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-08-18T20:12:20.625520" elapsed="0.014302"/>
</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-08-18T20:12:20.619200" elapsed="0.020745"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.606907" elapsed="0.033126"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.641117" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.640531" 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-08-18T20:12:20.647439" 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-08-18T20:12:20.647566" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.647306" elapsed="0.000289"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.648174" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c720&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.647740" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.648620" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.648349" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.649075" 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-08-18T20:12:20.648810" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.649520" 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-08-18T20:12:20.649251" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.650489" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.649735" elapsed="0.000784"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.651002" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.650672" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.651494" 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-08-18T20:12:20.651192" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.652010" 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-08-18T20:12:20.651681" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.652491" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.652198" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.653002" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.652681" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.653493" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c720&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.653194" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.646979" elapsed="0.006607"/>
</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-08-18T20:12:20.660703" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.660454" elapsed="0.000327"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.669968" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.670071" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.670162" 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-08-18T20:12:20.660905" elapsed="0.009282"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.674037" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.670341" elapsed="0.003796"/>
</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-08-18T20:12:20.660027" elapsed="0.014237"/>
</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-08-18T20:12:20.653773" elapsed="0.020608"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.640249" elapsed="0.034219"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.675538" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.674994" elapsed="0.000640"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.681037" 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-08-18T20:12:20.681170" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.680903" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.681784" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859138d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.681348" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.682528" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.681966" elapsed="0.000600"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.683051" 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-08-18T20:12:20.682733" elapsed="0.000344"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.683493" 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-08-18T20:12:20.683225" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.684419" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.683663" elapsed="0.000786"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.684929" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.684602" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.685421" 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-08-18T20:12:20.685119" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.685930" 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-08-18T20:12:20.685608" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.686451" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.686118" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.686963" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.686643" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.687455" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859138d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.687155" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.680558" elapsed="0.006990"/>
</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-08-18T20:12:20.694658" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.694410" elapsed="0.000379"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.705016" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.705162" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.705358" 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-08-18T20:12:20.694917" elapsed="0.010498"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.711746" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.705793" elapsed="0.006030"/>
</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-08-18T20:12:20.693958" elapsed="0.017944"/>
</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-08-18T20:12:20.687694" elapsed="0.024282"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.674682" elapsed="0.037348"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.712679" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.712339" elapsed="0.000400"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.717483" 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-08-18T20:12:20.717668" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.717299" elapsed="0.000408"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.718485" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859122a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.717933" elapsed="0.000591"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.719197" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.718784" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.719662" 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-08-18T20:12:20.719397" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.720114" 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-08-18T20:12:20.719848" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.720941" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.720282" elapsed="0.000690"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.721431" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.721122" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.721937" 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-08-18T20:12:20.721619" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.722429" 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-08-18T20:12:20.722124" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.722976" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.722649" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.723466" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.723164" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.723978" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859122a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.723655" 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-08-18T20:12:20.716845" elapsed="0.007228"/>
</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-08-18T20:12:20.731301" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.731043" elapsed="0.000318"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.740585" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.740674" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.740827" 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-08-18T20:12:20.731487" elapsed="0.009377"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.743974" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.741084" elapsed="0.002950"/>
</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-08-18T20:12:20.730572" elapsed="0.013540"/>
</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-08-18T20:12:20.724217" elapsed="0.019969"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.712165" elapsed="0.032075"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.744914" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.744550" 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-08-18T20:12:20.749691" 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-08-18T20:12:20.749934" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.749508" elapsed="0.000467"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.750755" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630cbd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.750180" elapsed="0.000634"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.751438" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.751020" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.752081" 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-08-18T20:12:20.751680" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.752591" 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-08-18T20:12:20.752326" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.753494" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.752777" elapsed="0.000748"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.754004" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.753676" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.754498" 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-08-18T20:12:20.754195" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.755009" 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-08-18T20:12:20.754685" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.755507" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.755196" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.756017" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.755697" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.756511" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630cbd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.756212" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.749054" elapsed="0.007552"/>
</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-08-18T20:12:20.763775" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.763510" elapsed="0.000332"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.774015" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.774157" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.774283" 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-08-18T20:12:20.763964" elapsed="0.010354"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.778262" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.774535" elapsed="0.003824"/>
</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-08-18T20:12:20.763048" elapsed="0.015439"/>
</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-08-18T20:12:20.756753" elapsed="0.021857"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.744375" elapsed="0.034323"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.779860" level="INFO">f156.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.779233" elapsed="0.000730"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.785703" 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-08-18T20:12:20.785844" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.785572" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.786408" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912430&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.786017" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.786869" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.786580" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.787305" 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-08-18T20:12:20.787041" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.787736" 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-08-18T20:12:20.787474" elapsed="0.000323"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.788602" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:20.787945" elapsed="0.000687"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.789109" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.788801" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.789594" 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-08-18T20:12:20.789295" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.790102" 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-08-18T20:12:20.789796" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.790579" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.790287" elapsed="0.000336"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.791086" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:20.790785" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.791576" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912430&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.791276" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.785248" elapsed="0.006421"/>
</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-08-18T20:12:20.798847" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.798584" elapsed="0.000359"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.809108" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.809231" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.809438" 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-08-18T20:12:20.799070" elapsed="0.010423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.814518" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.809890" elapsed="0.004722"/>
</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-08-18T20:12:20.798160" elapsed="0.016579"/>
</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-08-18T20:12:20.791829" elapsed="0.023067"/>
</kw>
<var name="${flowfile}">f156.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.778951" elapsed="0.036032"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.816053" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.815473" 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-08-18T20:12:20.820140" 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-08-18T20:12:20.820269" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.820005" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.820876" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3ca40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.820460" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.821329" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.821052" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.821781" 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-08-18T20:12:20.821501" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.822223" 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-08-18T20:12:20.821956" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.823075" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.822393" elapsed="0.000712"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.823565" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.823257" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.824075" 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-08-18T20:12:20.823771" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.824604" 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-08-18T20:12:20.824262" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.825149" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.824809" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.825646" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.825343" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.826161" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3ca40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.825856" 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-08-18T20:12:20.819663" elapsed="0.006593"/>
</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-08-18T20:12:20.833361" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.833115" elapsed="0.000307"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.843275" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.843339" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.843428" 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-08-18T20:12:20.833546" elapsed="0.009907"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.847778" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.843611" elapsed="0.004268"/>
</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-08-18T20:12:20.832674" elapsed="0.015330"/>
</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-08-18T20:12:20.826401" elapsed="0.021719"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.815195" elapsed="0.033013"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.849298" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.848698" 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-08-18T20:12:20.854956" 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-08-18T20:12:20.855122" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.854820" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.855706" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570f3d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.855301" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.856202" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.855901" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.856643" 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-08-18T20:12:20.856380" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.857122" 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-08-18T20:12:20.856832" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.857976" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.857294" elapsed="0.000713"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.858469" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.858159" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.858977" 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-08-18T20:12:20.858657" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.859467" 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-08-18T20:12:20.859164" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.860022" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.859652" elapsed="0.000414"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.860513" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.860213" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.861075" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570f3d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.860706" 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-08-18T20:12:20.854471" elapsed="0.006708"/>
</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-08-18T20:12:20.868273" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.868028" elapsed="0.000307"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.879510" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.879719" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.879972" 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-08-18T20:12:20.868458" elapsed="0.011571"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.885015" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.880376" elapsed="0.004736"/>
</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-08-18T20:12:20.867587" elapsed="0.017650"/>
</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-08-18T20:12:20.861327" elapsed="0.024084"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.848419" elapsed="0.037080"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.886402" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.886025" 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-08-18T20:12:20.891178" 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-08-18T20:12:20.891350" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.890994" elapsed="0.000396"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.892166" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630cb80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.891593" elapsed="0.000612"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.892810" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.892411" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.893484" 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-08-18T20:12:20.893056" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.894228" 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-08-18T20:12:20.893885" elapsed="0.000369"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.895081" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.894401" elapsed="0.000714"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.895582" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.895271" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.896094" 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-08-18T20:12:20.895788" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.896587" 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-08-18T20:12:20.896282" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.897087" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.896790" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.897599" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.897280" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.898112" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630cb80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.897808" 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-08-18T20:12:20.890521" elapsed="0.007689"/>
</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-08-18T20:12:20.905328" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.905084" elapsed="0.000346"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.917952" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.918041" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.918209" 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-08-18T20:12:20.905557" elapsed="0.012707"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.923261" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.918607" elapsed="0.004746"/>
</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-08-18T20:12:20.904645" elapsed="0.018831"/>
</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-08-18T20:12:20.898355" elapsed="0.025239"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.885712" elapsed="0.037968"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.924733" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.924197" elapsed="0.000665"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.929492" 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-08-18T20:12:20.929617" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.929358" elapsed="0.000288"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.930239" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570ccc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.929808" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.930685" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.930414" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.931140" 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-08-18T20:12:20.930874" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.931576" 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-08-18T20:12:20.931312" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.932426" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.931749" elapsed="0.000715"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.932945" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.932618" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.933437" 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-08-18T20:12:20.933135" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.933949" 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-08-18T20:12:20.933625" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.934511" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:20.934163" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.935030" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:20.934705" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.935524" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570ccc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.935222" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.929031" elapsed="0.006587"/>
</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-08-18T20:12:20.942916" level="INFO">&lt;?xml version="1.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-08-18T20:12:20.942649" elapsed="0.000328"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.951218" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.951281" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.951368" 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-08-18T20:12:20.943102" elapsed="0.008291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.953599" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.951551" elapsed="0.002091"/>
</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-08-18T20:12:20.942178" elapsed="0.011520"/>
</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-08-18T20:12:20.935779" elapsed="0.017975"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.923923" elapsed="0.029884"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.954271" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.954029" elapsed="0.000285"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:20.958797" 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-08-18T20:12:20.959015" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.958587" elapsed="0.000469"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.959857" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37ab0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.959266" elapsed="0.000632"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.960487" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.960106" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.961120" 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-08-18T20:12:20.960727" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.961728" 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-08-18T20:12:20.961360" elapsed="0.000424"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.963049" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:20.961990" elapsed="0.001102"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.963565" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.963253" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.964081" 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-08-18T20:12:20.963774" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.964579" 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-08-18T20:12:20.964270" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.965082" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.964782" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.965579" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:20.965279" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.966089" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37ab0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.965786" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:20.958098" elapsed="0.008085"/>
</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-08-18T20:12:20.973290" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.973046" elapsed="0.000308"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:20.982430" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:20.982571" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:20.982695" 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-08-18T20:12:20.973477" elapsed="0.009253"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.985860" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.982989" elapsed="0.002931"/>
</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-08-18T20:12:20.972606" elapsed="0.013391"/>
</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-08-18T20:12:20.966328" elapsed="0.019742"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.953904" elapsed="0.032219"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.986791" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:20.986429" 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-08-18T20:12:20.991679" 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-08-18T20:12:20.991876" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.991496" elapsed="0.000420"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:20.992686" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639bdd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:20.992120" elapsed="0.000605"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.993385" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:20.992954" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.994024" 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-08-18T20:12:20.993627" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:20.994632" 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-08-18T20:12:20.994264" elapsed="0.000403"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:20.995952" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:20.994892" elapsed="0.001102"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.996530" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.996212" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.997037" 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-08-18T20:12:20.996719" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.997534" 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-08-18T20:12:20.997228" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.998030" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:20.997718" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.998522" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:20.998219" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:20.999032" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639bdd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:20.998711" 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-08-18T20:12:20.990988" elapsed="0.008168"/>
</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-08-18T20:12:21.006228" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:21.005979" elapsed="0.000352"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.016797" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.016891" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.017014" 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-08-18T20:12:21.006459" elapsed="0.010590"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.020186" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.017267" elapsed="0.002979"/>
</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-08-18T20:12:21.005542" elapsed="0.014783"/>
</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-08-18T20:12:20.999300" elapsed="0.021100"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-08-18T20:12:20.986256" elapsed="0.034199"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.021131" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.020789" 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-08-18T20:12:21.026107" 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-08-18T20:12:21.026287" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:21.025919" elapsed="0.000409"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.027118" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399e40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.026531" elapsed="0.000626"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.027813" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.027363" elapsed="0.000488"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.028428" 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-08-18T20:12:21.028058" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.029066" 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-08-18T20:12:21.028668" elapsed="0.000434"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.030291" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:21.029305" elapsed="0.001028"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.030998" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.030544" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.031721" 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-08-18T20:12:21.031263" elapsed="0.000538"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.032383" 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-08-18T20:12:21.032008" elapsed="0.000452"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.032925" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:21.032609" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.033418" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:21.033115" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.033927" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399e40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.033608" 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-08-18T20:12:21.025433" elapsed="0.008590"/>
</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-08-18T20:12:21.041208" level="INFO">&lt;?xml version="1.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-08-18T20:12:21.040960" elapsed="0.000309"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.051160" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.051248" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.051369" 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-08-18T20:12:21.041392" elapsed="0.010011"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.054547" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.051621" elapsed="0.002986"/>
</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-08-18T20:12:21.040516" elapsed="0.014170"/>
</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-08-18T20:12:21.034201" elapsed="0.020580"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.020592" elapsed="0.034246"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.055482" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.055144" elapsed="0.000398"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:21.060492" 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-08-18T20:12:21.060665" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:21.060305" elapsed="0.000400"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.061477" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b330&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.060933" elapsed="0.000583"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.062124" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.061721" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.062733" 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-08-18T20:12:21.062364" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.063367" 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-08-18T20:12:21.062996" elapsed="0.000406"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.064542" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:21.063604" elapsed="0.000981"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.065254" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.064819" elapsed="0.000477"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.065753" 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-08-18T20:12:21.065445" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.066261" 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-08-18T20:12:21.065954" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.066747" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:21.066447" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.067258" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:21.066952" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.067770" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b330&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.067451" 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-08-18T20:12:21.059756" elapsed="0.008112"/>
</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-08-18T20:12:21.074988" level="INFO">&lt;?xml version="1.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-08-18T20:12:21.074724" elapsed="0.000322"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.085447" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.085573" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.085699" 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-08-18T20:12:21.075169" elapsed="0.010565"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.088866" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.085981" elapsed="0.002944"/>
</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-08-18T20:12:21.074299" elapsed="0.014705"/>
</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-08-18T20:12:21.068012" elapsed="0.021067"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.054971" elapsed="0.034177"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.089854" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.089490" 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-08-18T20:12:21.094683" 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-08-18T20:12:21.094880" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:21.094497" elapsed="0.000424"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.095648" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b5b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.095127" elapsed="0.000560"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.096295" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.095917" elapsed="0.000413"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.096962" 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-08-18T20:12:21.096534" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.097508" 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-08-18T20:12:21.097225" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.098219" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:21.097676" elapsed="0.000573"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.098706" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.098401" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.099211" 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-08-18T20:12:21.098912" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.099701" 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-08-18T20:12:21.099397" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.100201" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:21.099903" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.100699" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:21.100388" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.101202" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b5b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.100904" elapsed="0.000338"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:21.094043" elapsed="0.007252"/>
</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-08-18T20:12:21.108403" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:21.108156" elapsed="0.000345"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.118286" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.118368" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.118489" 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-08-18T20:12:21.108630" elapsed="0.009894"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.122839" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.118740" elapsed="0.004160"/>
</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-08-18T20:12:21.107714" elapsed="0.015266"/>
</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-08-18T20:12:21.101439" elapsed="0.021615"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.089313" elapsed="0.033804"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.123837" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.123473" elapsed="0.000424"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:21.128710" 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-08-18T20:12:21.128906" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:21.128525" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.129736" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b7e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.129190" elapsed="0.000608"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.130310" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.130005" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.130746" 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-08-18T20:12:21.130481" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.131194" 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-08-18T20:12:21.130930" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.131985" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:21.131364" elapsed="0.000651"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.132475" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.132168" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.132983" 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-08-18T20:12:21.132662" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.133485" 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-08-18T20:12:21.133181" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.133985" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:21.133670" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.134512" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:21.134209" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.135021" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b7e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.134703" 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-08-18T20:12:21.128067" elapsed="0.007049"/>
</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-08-18T20:12:21.142277" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:21.142025" elapsed="0.000311"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.151211" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.151272" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.151360" 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-08-18T20:12:21.142461" elapsed="0.008924"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.153623" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.151541" elapsed="0.002124"/>
</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-08-18T20:12:21.141578" elapsed="0.012145"/>
</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-08-18T20:12:21.135261" elapsed="0.018533"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.123282" elapsed="0.030553"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.154587" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.154063" elapsed="0.000623"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:21.162400" 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-08-18T20:12:21.162530" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:21.162245" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.163111" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986320a90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.162707" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.163559" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.163288" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.164054" 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-08-18T20:12:21.163782" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.164490" 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-08-18T20:12:21.164226" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.165240" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:21.164661" elapsed="0.000609"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.165744" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.165419" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.166258" 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-08-18T20:12:21.165951" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.166753" 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-08-18T20:12:21.166446" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.167249" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:21.166954" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.167769" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:21.167453" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.168260" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986320a90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.167961" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:21.161416" 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-08-18T20:12:21.175471" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:21.175224" elapsed="0.000305"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.183951" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.184011" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.184098" 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-08-18T20:12:21.175653" elapsed="0.008470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.186349" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.184280" elapsed="0.002112"/>
</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-08-18T20:12:21.174798" elapsed="0.011685"/>
</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-08-18T20:12:21.168498" elapsed="0.018039"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.153937" elapsed="0.032638"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.187057" level="INFO">f221.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.186812" 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-08-18T20:12:21.194975" 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-08-18T20:12:21.195252" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:21.194641" elapsed="0.000645"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.195845" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abdf30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.195442" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.196286" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.196018" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.196722" 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-08-18T20:12:21.196458" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.197177" 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-08-18T20:12:21.196912" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.197971" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:21.197346" elapsed="0.000655"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.198479" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.198157" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.198988" 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-08-18T20:12:21.198667" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.199480" 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-08-18T20:12:21.199174" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.199979" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:21.199666" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.200467" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:21.200168" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.200974" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abdf30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.200656" 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-08-18T20:12:21.193854" elapsed="0.007215"/>
</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-08-18T20:12:21.208239" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:21.207991" elapsed="0.000306"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.217476" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.217536" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.217624" 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-08-18T20:12:21.208422" elapsed="0.009227"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.220946" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.217828" elapsed="0.003214"/>
</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-08-18T20:12:21.207551" elapsed="0.013617"/>
</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-08-18T20:12:21.201217" elapsed="0.020068"/>
</kw>
<var name="${flowfile}">f221.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.186671" elapsed="0.034701"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.222481" level="INFO">f222.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.221897" 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-08-18T20:12:21.228610" 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-08-18T20:12:21.228735" 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-08-18T20:12:21.228477" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.229294" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538a2a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.228927" elapsed="0.000395"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.229741" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.229470" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.230207" 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-08-18T20:12:21.229934" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.230643" 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-08-18T20:12:21.230379" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.231326" 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-08-18T20:12:21.230845" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.231830" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.231507" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.232322" 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-08-18T20:12:21.232021" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.232829" 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-08-18T20:12:21.232509" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.233314" 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-08-18T20:12:21.233016" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.233858" 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-08-18T20:12:21.233504" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.234354" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538a2a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.234051" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:21.228151" elapsed="0.006298"/>
</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-08-18T20:12:21.241584" 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-08-18T20:12:21.241335" elapsed="0.000304"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.254590" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.254716" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.254965" 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-08-18T20:12:21.241779" elapsed="0.013245"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.260122" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.255454" elapsed="0.004731"/>
</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-08-18T20:12:21.240909" elapsed="0.019353"/>
</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-08-18T20:12:21.234595" elapsed="0.025742"/>
</kw>
<var name="${flowfile}">f222.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.221585" elapsed="0.038806"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.261087" level="INFO">f223.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.260716" elapsed="0.000432"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:21.265901" 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-08-18T20:12:21.266077" 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-08-18T20:12:21.265692" elapsed="0.000425"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.266862" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe390&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.266322" elapsed="0.000578"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.267528" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.267105" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.268177" 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-08-18T20:12:21.267793" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.268653" 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-08-18T20:12:21.268391" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.269381" 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-08-18T20:12:21.268875" elapsed="0.000536"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.269895" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.269564" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.270388" 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-08-18T20:12:21.270086" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.270896" 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-08-18T20:12:21.270575" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.271430" 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-08-18T20:12:21.271085" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.271946" 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-08-18T20:12:21.271624" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.272526" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe390&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.272137" elapsed="0.000433"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:21.265237" elapsed="0.007386"/>
</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-08-18T20:12:21.279794" 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-08-18T20:12:21.279529" elapsed="0.000323"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.288726" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.288836" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.288959" 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-08-18T20:12:21.279977" elapsed="0.009017"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.292081" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.289211" elapsed="0.002929"/>
</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-08-18T20:12:21.279089" elapsed="0.013131"/>
</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-08-18T20:12:21.272786" elapsed="0.019511"/>
</kw>
<var name="${flowfile}">f223.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.260541" elapsed="0.031812"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.293026" level="INFO">f224.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.292658" 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-08-18T20:12:21.297863" 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-08-18T20:12:21.298036" 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-08-18T20:12:21.297655" elapsed="0.000422"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.298820" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f15d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.298281" elapsed="0.000579"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.299494" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.299064" elapsed="0.000483"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.300221" 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-08-18T20:12:21.299855" elapsed="0.000392"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.300658" 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-08-18T20:12:21.300393" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.301339" 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-08-18T20:12:21.300844" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.301846" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.301519" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.302341" 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-08-18T20:12:21.302035" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.302848" 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-08-18T20:12:21.302527" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.303326" 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-08-18T20:12:21.303034" elapsed="0.000336"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.303843" 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-08-18T20:12:21.303514" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.304334" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f15d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.304034" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:21.297195" elapsed="0.007231"/>
</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-08-18T20:12:21.311523" 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-08-18T20:12:21.311276" elapsed="0.000304"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.320085" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.320218" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.320353" 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-08-18T20:12:21.311703" elapsed="0.008687"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.323646" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.320618" elapsed="0.003090"/>
</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-08-18T20:12:21.310853" elapsed="0.012960"/>
</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-08-18T20:12:21.304570" elapsed="0.019326"/>
</kw>
<var name="${flowfile}">f224.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.292486" elapsed="0.031469"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.324699" level="INFO">f225.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.324337" 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-08-18T20:12:21.329500" 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-08-18T20:12:21.329673" 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-08-18T20:12:21.329316" elapsed="0.000396"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.330452" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37c90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.329938" elapsed="0.000553"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.331094" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.330693" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.331698" 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-08-18T20:12:21.331333" elapsed="0.000400"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.332372" 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-08-18T20:12:21.331960" elapsed="0.000448"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.333276" 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-08-18T20:12:21.332610" elapsed="0.000696"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.333781" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.333457" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.334267" 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-08-18T20:12:21.333970" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.334769" 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-08-18T20:12:21.334452" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.335246" 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-08-18T20:12:21.334955" elapsed="0.000335"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.335731" 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-08-18T20:12:21.335434" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.336236" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37c90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.335938" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:21.328865" elapsed="0.007482"/>
</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-08-18T20:12:21.343449" 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-08-18T20:12:21.343202" elapsed="0.000338"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.353100" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.353182" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.353304" 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-08-18T20:12:21.343665" elapsed="0.009673"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.356415" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.353554" elapsed="0.002921"/>
</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-08-18T20:12:21.342774" elapsed="0.013825"/>
</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-08-18T20:12:21.336491" elapsed="0.020200"/>
</kw>
<var name="${flowfile}">f225.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.324097" elapsed="0.032649"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.357417" level="INFO">f550.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.357076" 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-08-18T20:12:21.362224" 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-08-18T20:12:21.362400" 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-08-18T20:12:21.362040" elapsed="0.000399"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:21.363201" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570fce0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:21.362644" elapsed="0.000596"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.363852" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:21.363447" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.364464" 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-08-18T20:12:21.364095" elapsed="0.000405"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:21.365148" 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-08-18T20:12:21.364739" elapsed="0.000453"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:21.365957" 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-08-18T20:12:21.365374" elapsed="0.000613"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.366450" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.366138" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.366965" 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-08-18T20:12:21.366643" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.367459" 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-08-18T20:12:21.367154" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.367958" 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-08-18T20:12:21.367645" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.368494" 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-08-18T20:12:21.368191" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.369020" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570fce0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:21.368686" 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-08-18T20:12:21.361561" elapsed="0.007554"/>
</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-08-18T20:12:21.376260" 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-08-18T20:12:21.376013" elapsed="0.000305"/>
</kw>
<kw name="PUT On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:21.384887" level="INFO">PUT Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.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-08-18T20:12:21.384989" level="INFO">PUT Response : url=http://10.30.171.138: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-08-18T20:12:21.385114" 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-08-18T20:12:21.376443" elapsed="0.008705"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:21.388206" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:21.385363" elapsed="0.002902"/>
</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-08-18T20:12:21.375572" elapsed="0.012772"/>
</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-08-18T20:12:21.369259" elapsed="0.019159"/>
</kw>
<var name="${flowfile}">f550.xml</var>
<status status="PASS" start="2026-08-18T20:12:21.356903" elapsed="0.031569"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-08-18T20:12:19.407173" elapsed="1.981343"/>
</for>
<kw name="Sleep" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.389398" 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-08-18T20:12:21.388722" elapsed="3.000891"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:12:24.394341" 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-08-18T20:12:24.390107" elapsed="0.004358"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:12:24.532973" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=19.472s, table=0, n_packets=14, n_bytes=1132, send_flow_rem priority=0 actions=CONTROLLER:65535
 cookie=0x0, duration=3.009s, table=2, n_packets=0, n_bytes=0, priority=550,tun_src=192.168.0.10 actions=drop
 cookie=0x0, duration=3.043s, 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.075s, 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.107s, 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.141s, table=2, n_packets=0, n_bytes=0, priority=222,ip,nw_dst=2.2.0.0/16 actions=drop
 cookie=0xdb, duration=3.245s, table=2, n_packets=0, n_bytes=0, priority=219,dl_vlan=10,dl_vlan_pcp=3 actions=clear_actions
 cookie=0xdd, duration=3.179s, table=2, n_packets=0, n_bytes=0, priority=221,dl_vlan=10,dl_vlan_pcp=3 actions=drop
 cookie=0x1, duration=4.954s, table=2, n_packets=0, n_bytes=0, priority=1,ip,nw_dst=10.0.1.0/24 actions=drop
 cookie=0x1f, duration=4.160s, table=2, n_packets=0, n_bytes=0, priority=31,ip,nw_dst=10.0.0.0/24 actions=TABLE
 cookie=0x24, duration=4.122s, table=2, n_packets=0, n_bytes=0, priority=36,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0x26, duration=4.084s, table=2, n_packets=0, n_bytes=0, priority=38,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0xdc, duration=3.212s, 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.278s, table=2, n_packets=0, n_bytes=0, priority=218,tun_id=0x29a0/0xfff0 actions=goto_table:3
 cookie=0xd6, duration=3.310s, 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.331s, 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.296s, 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=3.974s, 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.866s, 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.344s, 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.649s, 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.613s, 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.413s, 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.372s, 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.551s, 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.514s, 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.477s, 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.444s, 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.507s, 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.586s, 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.759s, 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.726s, 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.690s, 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.621s, 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.654s, 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.795s, 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.829s, 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.939s, 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.903s, 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.010s, table=2, n_packets=0, n_bytes=0, priority=45,metadata=0x46605a66/0xfff0ffff actions=TABLE
 cookie=0x2b, duration=4.048s, table=2, n_packets=0, n_bytes=0, priority=43,icmp6,icmp_type=135,icmp_code=1 actions=drop
 cookie=0x17, duration=4.263s, 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.195s, 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.212s, table=2, n_packets=0, n_bytes=0, priority=24,tun_id=0xa1f actions=drop
 cookie=0x14, duration=4.367s, table=2, n_packets=0, n_bytes=0, priority=20,metadata=0x3039/0xf0ff actions=drop
 cookie=0x13, duration=4.402s, table=2, n_packets=0, n_bytes=0, priority=19,metadata=0x3039 actions=drop
 cookie=0x12, duration=4.438s, 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.472s, 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.544s, 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.576s, 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.684s, 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.721s, 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.754s, 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.787s, 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.822s, 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.857s, 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.889s, table=2, n_packets=0, n_bytes=0, priority=3,dl_src=00:00:00:00:00:01 actions=TABLE
 cookie=0x2, duration=4.921s, 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-08-18T20:12:24.394831" elapsed="0.138380"/>
</kw>
<doc>Update all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-08-18T20:12:19.406802" elapsed="5.126556"/>
</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-08-18T20:12:24.544495" 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-08-18T20:12:24.544665" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.544341" elapsed="0.000353"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:24.545318" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3da80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:24.544865" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.545797" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:24.545496" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.546245" 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-08-18T20:12:24.545973" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.546704" 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-08-18T20:12:24.546421" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.547512" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:24.546896" elapsed="0.000647"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.548056" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:24.547700" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.548558" 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-08-18T20:12:24.548246" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.549080" 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-08-18T20:12:24.548748" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.549576" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.549267" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.550094" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:24.549782" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.550596" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3da80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:24.550285" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:24.544007" elapsed="0.006711"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.551281" 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-08-18T20:12:24.550883" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.551700" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.551458" 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-08-18T20:12:24.559585" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:24.559277" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:24.566503" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:24.566691" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:24.566847" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:24.559793" elapsed="0.007082"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.567344" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:24.567047" elapsed="0.000375"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.570357" 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-08-18T20:12:24.567623" elapsed="0.002812"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.573032" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.570547" elapsed="0.002559"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.570515" elapsed="0.002622"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.576518" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:24.576564" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:24.573330" 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-08-18T20:12:24.578385" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:24.576661" elapsed="0.001781"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.576642" elapsed="0.001824"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:24.578500" elapsed="0.000036"/>
</return>
<msg time="2026-08-18T20:12:24.578702" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:24.578748" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:24.558964" elapsed="0.019820"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.580958" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.579342" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.579325" elapsed="0.001702"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.581571" 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-08-18T20:12:24.581173" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.582128" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:24.581774" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:24.582205" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:24.582383" 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-08-18T20:12:24.579007" elapsed="0.003401"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:24.582562" elapsed="0.000446"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:24.558350" elapsed="0.024722"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.591285" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:24.590887" elapsed="0.000426"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:24.606210" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:24.606656" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:24.607350" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:24.591448" elapsed="0.015960"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.608355" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:24.607792" elapsed="0.000663"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.613353" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:24.608800" elapsed="0.006663"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.617808" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.615628" elapsed="0.002233"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.615583" elapsed="0.002301"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.642669" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:24.642716" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:24.618022" elapsed="0.024717"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:24.644526" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:24.642835" elapsed="0.001747"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.642815" elapsed="0.001791"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:24.644641" elapsed="0.000034"/>
</return>
<msg time="2026-08-18T20:12:24.644869" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:24.644912" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:24.590487" elapsed="0.054448"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.647178" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.645485" elapsed="0.001738"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.645466" elapsed="0.001779"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.647849" 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-08-18T20:12:24.647394" elapsed="0.000483"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.648389" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:24.648040" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:24.648464" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:24.648641" 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-08-18T20:12:24.645155" elapsed="0.003510"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:24.648835" 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-08-18T20:12:24.589849" elapsed="0.059446"/>
</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-08-18T20:12:24.540736" elapsed="0.108618"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:24.533674" elapsed="0.115803"/>
</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-08-18T20:12:24.660259" 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-08-18T20:12:24.660408" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.660115" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:24.661001" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986354810&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:24.660587" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.661464" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:24.661177" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.661920" 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-08-18T20:12:24.661636" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.662355" 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-08-18T20:12:24.662091" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.663131" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:24.662524" elapsed="0.000637"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.663640" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:24.663313" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.664232" 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-08-18T20:12:24.663911" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.664764" 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-08-18T20:12:24.664427" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.665268" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.664957" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.665793" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:24.665461" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.666301" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986354810&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:24.665987" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:24.659781" elapsed="0.006617"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.666939" 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-08-18T20:12:24.666544" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.667355" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.667116" 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-08-18T20:12:24.674964" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:24.674644" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:24.680592" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:24.680726" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:24.680852" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:24.675118" elapsed="0.005760"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.681296" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:24.681040" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.684357" 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-08-18T20:12:24.681569" elapsed="0.002912"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.687020" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.684581" elapsed="0.002509"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.684554" elapsed="0.002567"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.691107" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:24.691171" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:24.687313" elapsed="0.003890"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:24.693272" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:24.691305" elapsed="0.002022"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.691280" elapsed="0.002071"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:24.693385" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:24.693579" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:24.693622" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:24.674335" elapsed="0.019309"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.695765" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.694196" elapsed="0.001617"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.694178" elapsed="0.001657"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.696401" 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-08-18T20:12:24.695981" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.696951" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:24.696586" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:24.697027" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:24.697203" 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-08-18T20:12:24.693869" elapsed="0.003359"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:24.697381" 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-08-18T20:12:24.673792" elapsed="0.024052"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.705488" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:24.705196" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:24.718948" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:24.719210" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:24.719598" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:24.705639" elapsed="0.013996"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.720241" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:24.719885" elapsed="0.000442"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.723604" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:24.720528" elapsed="0.004402"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.727443" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.725032" elapsed="0.002479"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.725004" elapsed="0.002538"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.753964" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:24.754012" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:24.727731" elapsed="0.026304"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:24.755810" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:24.754114" elapsed="0.001754"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.754095" elapsed="0.001797"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:24.755926" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:24.756124" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:24.756167" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:24.704827" elapsed="0.051362"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.758337" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.756783" elapsed="0.001599"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.756762" elapsed="0.001642"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.758969" 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-08-18T20:12:24.758548" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.759498" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:24.759154" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:24.759571" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:24.759779" 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-08-18T20:12:24.756407" elapsed="0.003400"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:24.759972" 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-08-18T20:12:24.704210" elapsed="0.056210"/>
</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-08-18T20:12:24.656529" elapsed="0.103946"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:24.649669" elapsed="0.110923"/>
</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-08-18T20:12:24.771721" 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-08-18T20:12:24.771897" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.771558" elapsed="0.000368"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:24.772503" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570dd50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:24.772076" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.773032" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:24.772683" elapsed="0.000376"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.773486" 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-08-18T20:12:24.773207" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.773947" 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-08-18T20:12:24.773658" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.774720" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:24.774119" elapsed="0.000647"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.775252" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:24.774923" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.775859" 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-08-18T20:12:24.775514" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.776384" 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-08-18T20:12:24.776056" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.776944" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.776584" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.777464" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:24.777144" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.778001" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570dd50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:24.777663" 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-08-18T20:12:24.771130" elapsed="0.006967"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.778644" 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-08-18T20:12:24.778245" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.779090" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.778845" 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-08-18T20:12:24.786885" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:24.786548" elapsed="0.000365"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:24.793031" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:24.793349" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:24.793589" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:24.787042" elapsed="0.006603"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.794644" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:24.794041" elapsed="0.000749"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.800132" 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-08-18T20:12:24.795118" elapsed="0.005234"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.803662" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.800539" elapsed="0.003199"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.800488" elapsed="0.003306"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.807666" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:24.807730" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:24.804010" elapsed="0.003774"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:24.810281" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:24.807888" elapsed="0.002490"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.807862" elapsed="0.002548"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:24.810449" elapsed="0.000036"/>
</return>
<msg time="2026-08-18T20:12:24.810654" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:24.810697" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:24.786235" elapsed="0.024484"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.812858" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.811295" elapsed="0.001608"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.811278" elapsed="0.001647"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.813503" 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-08-18T20:12:24.813072" elapsed="0.000458"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.814061" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:24.813688" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:24.814138" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:24.814357" 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-08-18T20:12:24.810961" 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-08-18T20:12:24.814548" elapsed="0.000437"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:24.785666" elapsed="0.029384"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.822897" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:24.822575" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:24.837454" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:24.837947" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:24.838602" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:24.823054" elapsed="0.015609"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.839646" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:24.839059" elapsed="0.000724"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.845272" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:24.840103" elapsed="0.006852"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.848835" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.847034" elapsed="0.001852"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.847013" elapsed="0.001896"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.874074" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:24.874120" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:24.849051" elapsed="0.025091"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:24.875918" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:24.874220" elapsed="0.001755"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.874201" elapsed="0.001798"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:24.876033" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:24.876228" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:24.876271" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:24.822192" elapsed="0.054101"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.878476" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.876852" elapsed="0.001669"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.876834" elapsed="0.001709"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.879105" 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-08-18T20:12:24.878687" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.879642" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:24.879295" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:24.879717" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:12:24.879917" 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-08-18T20:12:24.876506" elapsed="0.003436"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:24.880095" 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-08-18T20:12:24.821560" elapsed="0.058982"/>
</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-08-18T20:12:24.767768" elapsed="0.112830"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:24.760898" elapsed="0.119823"/>
</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-08-18T20:12:24.891515" 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-08-18T20:12:24.891664" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.891374" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:24.892262" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7bf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:24.891857" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.892716" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:24.892439" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.893178" 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-08-18T20:12:24.892911" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:24.893615" 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-08-18T20:12:24.893350" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.894452" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:24.893802" elapsed="0.000681"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.894981" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:24.894636" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.895529" 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-08-18T20:12:24.895210" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.896058" 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-08-18T20:12:24.895720" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.896554" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.896247" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.897075" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:24.896749" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.897576" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7bf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:24.897266" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:24.891042" elapsed="0.006629"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.898225" 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-08-18T20:12:24.897832" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.898639" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:24.898403" 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-08-18T20:12:24.906255" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:24.905929" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:24.911646" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:24.911799" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:24.911906" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:24.906408" elapsed="0.005523"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.912399" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:24.912088" elapsed="0.000387"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.915630" 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-08-18T20:12:24.912668" elapsed="0.003114"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.918300" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.915884" elapsed="0.002484"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.915857" elapsed="0.002542"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.922308" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:24.922371" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:24.918588" elapsed="0.003814"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:24.924460" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:24.922502" elapsed="0.002014"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.922477" elapsed="0.002062"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:24.924572" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:24.924778" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:24.924822" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:24.905601" elapsed="0.019243"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.926959" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.925372" elapsed="0.001633"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.925355" elapsed="0.001672"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.927566" 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-08-18T20:12:24.927168" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.928111" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:24.927763" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:24.928185" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:24.928360" 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-08-18T20:12:24.925050" elapsed="0.003335"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:24.928537" 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-08-18T20:12:24.905055" elapsed="0.023999"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.936710" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:24.936417" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:24.950529" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:24.950986" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:24.951610" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:24.936880" elapsed="0.014789"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.952622" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:24.952060" elapsed="0.000662"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.958236" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:24.953076" elapsed="0.006912"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.962598" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.960092" elapsed="0.002576"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.960065" elapsed="0.002635"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:24.988303" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:24.988350" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:24.962911" elapsed="0.025462"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:24.990184" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:24.988449" elapsed="0.001792"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.988431" elapsed="0.001835"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:24.990300" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:24.990495" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:24.990538" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:24.936046" elapsed="0.054515"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:24.992780" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:24.991167" elapsed="0.001660"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:24.991149" elapsed="0.001701"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.993396" 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-08-18T20:12:24.992994" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:24.993955" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:24.993588" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:24.994031" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:24.994209" 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-08-18T20:12:24.990824" elapsed="0.003411"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:24.994387" 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-08-18T20:12:24.935428" elapsed="0.059450"/>
</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-08-18T20:12:24.887699" elapsed="0.107236"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:24.881011" elapsed="0.114040"/>
</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-08-18T20:12:25.006002" 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-08-18T20:12:25.006166" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.005849" elapsed="0.000346"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:25.006800" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea340&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:25.006354" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.007272" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:25.006993" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.007713" 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-08-18T20:12:25.007446" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.008170" 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-08-18T20:12:25.007905" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.009029" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:25.008344" elapsed="0.000716"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.009544" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.009214" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.010124" 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-08-18T20:12:25.009806" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.010636" 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-08-18T20:12:25.010317" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.011177" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.010839" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.011679" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:25.011368" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.012203" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea340&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.011888" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:25.005475" elapsed="0.006823"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.012851" 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-08-18T20:12:25.012445" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.013267" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.013027" 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-08-18T20:12:25.020913" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.020591" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.026377" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.026538" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:25.026643" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.021067" elapsed="0.005601"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.027099" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.026847" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.029441" 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-08-18T20:12:25.027307" 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-08-18T20:12:25.031435" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.029611" elapsed="0.001877"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.029590" elapsed="0.001921"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.034485" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.034531" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:25.031650" 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-08-18T20:12:25.036467" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.034627" elapsed="0.001923"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.034609" elapsed="0.001973"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.036629" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:12:25.036925" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:25.036986" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:25.020283" elapsed="0.016733"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.039976" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.037777" elapsed="0.002262"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.037731" elapsed="0.002338"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.040844" 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-08-18T20:12:25.040268" elapsed="0.000612"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.041577" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.041098" elapsed="0.000515"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.041680" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:25.041950" 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-08-18T20:12:25.037304" elapsed="0.004682"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.042199" elapsed="0.000548"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:25.019711" elapsed="0.023145"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.052153" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.051858" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.065878" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.066142" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:25.066530" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.052305" elapsed="0.014261"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.067158" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.066807" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.070484" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:25.067413" elapsed="0.004396"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.074307" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.071910" elapsed="0.002465"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.071883" elapsed="0.002523"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.145691" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.145775" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:25.074596" elapsed="0.071206"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.147710" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.145923" elapsed="0.001863"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.145893" elapsed="0.001920"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.147850" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:25.148064" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:25.148110" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:25.051475" elapsed="0.096658"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.150416" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.148789" elapsed="0.001673"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.148770" elapsed="0.001713"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.151108" 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-08-18T20:12:25.150633" elapsed="0.000503"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.151639" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.151294" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.151713" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.151908" 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-08-18T20:12:25.148417" 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-08-18T20:12:25.152086" 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-08-18T20:12:25.050846" elapsed="0.101729"/>
</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-08-18T20:12:25.002113" elapsed="0.150518"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:24.995231" elapsed="0.157538"/>
</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-08-18T20:12:25.163541" 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-08-18T20:12:25.163705" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.163398" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:25.164311" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cefe20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:25.163899" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.164838" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:25.164535" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.165277" 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-08-18T20:12:25.165012" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.165711" 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-08-18T20:12:25.165446" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.166547" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:25.165901" elapsed="0.000676"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.167074" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.166729" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.167654" 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-08-18T20:12:25.167336" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.168182" 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-08-18T20:12:25.167860" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.168712" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.168371" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.169238" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:25.168922" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.169749" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cefe20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.169430" 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-08-18T20:12:25.163063" elapsed="0.006797"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.170389" 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-08-18T20:12:25.170005" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.170826" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.170568" 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-08-18T20:12:25.178576" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.178273" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.184941" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.185108" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:25.185213" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.178729" elapsed="0.006509"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.185645" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.185397" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.187784" 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-08-18T20:12:25.185847" 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-08-18T20:12:25.189673" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.187947" elapsed="0.001776"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.187928" elapsed="0.001820"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.192605" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.192654" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:25.189900" elapsed="0.002789"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.194424" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.192780" elapsed="0.001699"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.192743" elapsed="0.001759"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.194536" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.194728" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:25.194788" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:25.177965" elapsed="0.016847"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.196944" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.195341" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.195324" elapsed="0.001688"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.197547" 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-08-18T20:12:25.197154" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.198094" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.197731" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.198169" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.198349" 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-08-18T20:12:25.195018" elapsed="0.003356"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.198526" 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-08-18T20:12:25.177401" elapsed="0.021587"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.206832" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.206520" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.220120" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.220562" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:25.221332" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.206986" elapsed="0.014407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.222377" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.221795" elapsed="0.000683"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.227379" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:25.222827" elapsed="0.006640"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.231269" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.229546" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.229524" elapsed="0.001818"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.254529" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.254577" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:25.231477" elapsed="0.023123"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.256435" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.254678" elapsed="0.001814"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.254659" elapsed="0.001857"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.256550" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:12:25.256769" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:25.256814" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:25.206149" 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-08-18T20:12:25.259025" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.257408" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.257391" elapsed="0.001701"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.259643" 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-08-18T20:12:25.259239" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.260197" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.259847" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.260273" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.260449" 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-08-18T20:12:25.257061" elapsed="0.003413"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.260629" 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-08-18T20:12:25.205524" elapsed="0.055602"/>
</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-08-18T20:12:25.159838" elapsed="0.101345"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:25.153083" elapsed="0.108255"/>
</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-08-18T20:12:25.272039" 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-08-18T20:12:25.272190" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.271896" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:25.272798" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b7e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:25.272368" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.273253" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:25.272975" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.273720" 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-08-18T20:12:25.273447" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.274174" 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-08-18T20:12:25.273909" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.275080" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:25.274344" elapsed="0.000766"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.275587" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.275262" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.276160" 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-08-18T20:12:25.275841" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.276669" 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-08-18T20:12:25.276350" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.277182" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.276875" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.277727" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:25.277377" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.278266" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b7e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.277952" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:25.271554" elapsed="0.006808"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.278901" 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-08-18T20:12:25.278507" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.279314" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.279077" 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-08-18T20:12:25.287098" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.286796" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.292536" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.292671" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:25.292799" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.287252" elapsed="0.005573"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.293231" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.292982" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.295930" 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-08-18T20:12:25.293448" elapsed="0.002567"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.298515" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.296112" elapsed="0.002471"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.296086" elapsed="0.002527"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.302750" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.302809" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:25.298820" 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-08-18T20:12:25.304557" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.302906" elapsed="0.001706"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.302887" elapsed="0.001748"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.304668" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.304875" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:25.304918" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:25.286473" elapsed="0.018467"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.307222" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.305468" elapsed="0.001799"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.305451" elapsed="0.001838"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.307845" 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-08-18T20:12:25.307432" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.308373" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.308027" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.308446" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.308623" 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-08-18T20:12:25.305146" 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-08-18T20:12:25.308817" 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-08-18T20:12:25.285925" elapsed="0.023337"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.316947" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.316637" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.330284" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.330710" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:25.331408" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.317099" elapsed="0.014367"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.332408" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.331846" elapsed="0.000661"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.337358" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:25.332851" elapsed="0.006127"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.340769" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.339051" elapsed="0.001768"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.339031" elapsed="0.001809"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.362932" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.362979" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:25.340974" elapsed="0.022027"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.366637" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.363078" elapsed="0.003616"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.363060" elapsed="0.003659"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.366768" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:25.366966" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:25.367008" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:25.316269" elapsed="0.050761"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.369135" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.367567" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.367549" elapsed="0.001652"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.369741" 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-08-18T20:12:25.369345" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.370289" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.369943" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.370390" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.370568" 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-08-18T20:12:25.367241" elapsed="0.003355"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.370750" 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-08-18T20:12:25.315647" elapsed="0.055587"/>
</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-08-18T20:12:25.268324" elapsed="0.102965"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:25.261643" elapsed="0.109759"/>
</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-08-18T20:12:25.382180" 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-08-18T20:12:25.382319" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.382041" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:25.382948" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98638dda0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:25.382508" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.383398" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:25.383122" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.383851" 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-08-18T20:12:25.383569" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.384284" 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-08-18T20:12:25.384022" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.385214" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:25.384456" elapsed="0.000788"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.385719" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.385397" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.386283" 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-08-18T20:12:25.385965" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.386845" 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-08-18T20:12:25.386502" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.387338" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.387033" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.387855" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:25.387527" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.388361" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98638dda0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.388045" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:25.381700" elapsed="0.006754"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.388991" 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-08-18T20:12:25.388599" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.389404" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.389167" 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-08-18T20:12:25.397200" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.396901" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.403243" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.403389" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:25.403496" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.397353" elapsed="0.006168"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.403982" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.403708" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.406112" 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-08-18T20:12:25.404165" elapsed="0.002007"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.407993" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.406243" elapsed="0.001799"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.406224" elapsed="0.001840"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.411156" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.411202" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:25.408198" elapsed="0.003026"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.413661" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.411313" elapsed="0.002426"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.411291" elapsed="0.002503"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.413842" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:25.414112" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:25.414172" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:25.396571" elapsed="0.017632"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.416898" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.415064" elapsed="0.001881"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.415036" elapsed="0.001930"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.417504" 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-08-18T20:12:25.417109" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.418052" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.417686" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.418126" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.418308" 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-08-18T20:12:25.414490" elapsed="0.003842"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.418484" elapsed="0.000429"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:25.396014" elapsed="0.022962"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.426644" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.426336" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.439880" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.440313" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:25.441012" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.426841" elapsed="0.014229"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.442023" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.441422" elapsed="0.000701"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.447045" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:25.442430" elapsed="0.005765"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.449992" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.448271" elapsed="0.001772"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.448251" elapsed="0.001815"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.472146" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.472192" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:25.450203" elapsed="0.022013"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.474065" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.472293" elapsed="0.001827"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.472274" elapsed="0.001870"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.474178" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.474373" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:25.474416" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:25.425960" elapsed="0.048478"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.476587" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.474991" elapsed="0.001641"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.474973" elapsed="0.001681"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.477218" 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-08-18T20:12:25.476815" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.477764" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.477401" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.477841" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.478019" 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-08-18T20:12:25.474647" elapsed="0.003397"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.478197" 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-08-18T20:12:25.425309" elapsed="0.053342"/>
</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-08-18T20:12:25.378519" elapsed="0.100189"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:25.371654" elapsed="0.107193"/>
</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-08-18T20:12:25.489563" 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-08-18T20:12:25.489712" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.489422" elapsed="0.000318"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:25.490324" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3fa60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:25.489905" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.490794" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:25.490500" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.491234" 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-08-18T20:12:25.490967" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.491708" 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-08-18T20:12:25.491438" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.492631" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:25.491900" elapsed="0.000761"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.493169" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.492835" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.493719" 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-08-18T20:12:25.493401" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.494252" 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-08-18T20:12:25.493927" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.494766" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.494441" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.495275" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:25.494960" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.495849" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3fa60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.495511" 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-08-18T20:12:25.489097" elapsed="0.006849"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.496471" 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-08-18T20:12:25.496092" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.496908" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.496649" 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-08-18T20:12:25.506615" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.506319" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.512010" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.512147" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:25.512272" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.506785" elapsed="0.005518"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.512975" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.512595" elapsed="0.000442"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.516006" 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-08-18T20:12:25.513232" elapsed="0.002860"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.518584" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.516188" elapsed="0.002464"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.516162" elapsed="0.002520"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.522273" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.522319" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:25.518890" elapsed="0.003451"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.524185" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.522414" elapsed="0.001827"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.522396" elapsed="0.001869"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.524299" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.524492" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:25.524534" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:25.506007" elapsed="0.018549"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.526644" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.525108" elapsed="0.001580"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.525091" elapsed="0.001619"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.527257" 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-08-18T20:12:25.526866" elapsed="0.000417"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.527858" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.527439" elapsed="0.000445"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.527933" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.528111" 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-08-18T20:12:25.524781" elapsed="0.003354"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.528287" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:25.505438" elapsed="0.023291"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.536582" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.536288" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.550252" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.550672" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:25.551364" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.536734" elapsed="0.014690"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.552391" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.551826" elapsed="0.000666"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.557417" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:25.552839" elapsed="0.006642"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.561867" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.559641" elapsed="0.002275"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.559598" elapsed="0.002340"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.583437" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.583483" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:25.562072" elapsed="0.021433"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.585311" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.583582" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.583564" elapsed="0.001828"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.585426" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.585619" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:25.585662" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:25.535916" elapsed="0.049768"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.587905" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.586242" elapsed="0.001707"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.586224" elapsed="0.001747"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.588534" 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-08-18T20:12:25.588130" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.589088" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.588720" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.589164" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.589344" 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-08-18T20:12:25.585913" 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-08-18T20:12:25.589524" 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-08-18T20:12:25.535279" elapsed="0.054712"/>
</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-08-18T20:12:25.485883" elapsed="0.104166"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:25.479131" elapsed="0.111033"/>
</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-08-18T20:12:25.600988" 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-08-18T20:12:25.601121" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.600850" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:25.601702" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913d30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:25.601295" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.602167" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:25.601896" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.602606" 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-08-18T20:12:25.602343" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.603058" 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-08-18T20:12:25.602793" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.603963" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:25.603231" elapsed="0.000762"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.604504" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.604145" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.605075" 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-08-18T20:12:25.604737" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.605592" 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-08-18T20:12:25.605266" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.606111" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.605798" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.606617" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:25.606304" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.607142" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913d30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.606826" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:25.600458" elapsed="0.006779"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.607777" 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-08-18T20:12:25.607382" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.608193" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.607955" 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-08-18T20:12:25.616025" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.615714" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.621909" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.622041" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:25.622147" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.616179" elapsed="0.005994"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.622611" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.622360" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.624844" 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-08-18T20:12:25.622815" elapsed="0.002090"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.627253" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.624975" elapsed="0.002347"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.624956" elapsed="0.002396"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.631838" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.631905" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:25.627541" elapsed="0.004397"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.634235" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.632051" elapsed="0.002240"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.632023" elapsed="0.002291"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.634348" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:12:25.634548" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:25.634591" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:25.615405" elapsed="0.019208"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.639038" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.635193" elapsed="0.003891"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.635176" elapsed="0.003930"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.639705" 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-08-18T20:12:25.639253" elapsed="0.000479"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.640260" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.639908" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.640340" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.640522" 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-08-18T20:12:25.634859" elapsed="0.005721"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.640745" 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-08-18T20:12:25.614856" elapsed="0.026366"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.648890" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.648543" elapsed="0.000374"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.664468" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.664951" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:25.665624" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.649045" elapsed="0.016638"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.666667" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.666069" elapsed="0.000731"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.671738" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:25.667110" 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-08-18T20:12:25.675464" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.673749" elapsed="0.001763"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.673728" elapsed="0.001806"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.696890" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.696936" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:25.675669" elapsed="0.021290"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.698830" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.697059" elapsed="0.001828"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.697039" elapsed="0.001872"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.698945" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:25.699138" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:25.699180" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:25.648173" elapsed="0.051029"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.701344" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.699747" elapsed="0.001642"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.699725" elapsed="0.001686"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.701970" 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-08-18T20:12:25.701556" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.702501" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.702155" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.702576" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.702770" 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-08-18T20:12:25.699415" elapsed="0.003382"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.702953" 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-08-18T20:12:25.647551" elapsed="0.055847"/>
</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-08-18T20:12:25.597187" elapsed="0.106267"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:25.590409" elapsed="0.113165"/>
</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-08-18T20:12:25.714422" 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-08-18T20:12:25.714570" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.714281" elapsed="0.000317"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:25.715184" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cb9fd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:25.714761" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.715636" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:25.715358" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.716091" 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-08-18T20:12:25.715824" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.716528" 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-08-18T20:12:25.716262" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.717478" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:25.716698" elapsed="0.000811"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.718008" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.717663" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.718556" 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-08-18T20:12:25.718238" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.719083" 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-08-18T20:12:25.718747" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.719585" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.719271" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.720106" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:25.719791" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.720787" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cb9fd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.720298" elapsed="0.000534"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:25.713957" elapsed="0.006931"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.721446" 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-08-18T20:12:25.721035" elapsed="0.000442"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.721885" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.721625" 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-08-18T20:12:25.729526" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.729179" elapsed="0.000374"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.735649" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.735804" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:25.735911" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.729681" elapsed="0.006255"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.736380" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.736127" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.738709" 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-08-18T20:12:25.736564" elapsed="0.002259"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.741488" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.738922" elapsed="0.002637"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.738896" elapsed="0.002694"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.746052" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.746115" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:25.741844" elapsed="0.004303"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.748017" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.746258" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.746226" elapsed="0.001869"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.748128" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.748318" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:25.748361" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:25.728868" elapsed="0.019515"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.750694" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.748931" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.748913" elapsed="0.001865"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.751324" 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-08-18T20:12:25.750924" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.751875" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.751510" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.751950" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.752127" 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-08-18T20:12:25.748589" elapsed="0.003563"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.752306" 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-08-18T20:12:25.728306" elapsed="0.024460"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.760492" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.760199" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.774578" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.775035" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:25.775688" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.760645" elapsed="0.015133"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.776703" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.776140" elapsed="0.000697"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.780504" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:25.777152" 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-08-18T20:12:25.784605" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.782133" elapsed="0.002544"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.782102" elapsed="0.002606"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.809228" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.809277" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:25.784924" elapsed="0.024376"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.811160" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.809380" elapsed="0.001836"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.809361" elapsed="0.001879"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.811274" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.811473" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:25.811515" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:25.759821" elapsed="0.051716"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.813678" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.812120" elapsed="0.001603"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.812102" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.814357" 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-08-18T20:12:25.813913" elapsed="0.000471"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.814910" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.814544" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.814985" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.815162" 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-08-18T20:12:25.811780" elapsed="0.003406"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.815341" 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-08-18T20:12:25.759191" elapsed="0.056619"/>
</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-08-18T20:12:25.710689" elapsed="0.105178"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:25.703877" elapsed="0.112111"/>
</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-08-18T20:12:25.826571" 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-08-18T20:12:25.826720" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.826430" elapsed="0.000334"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:25.827338" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3d5d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:25.826915" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.827812" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:25.827514" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.828251" 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-08-18T20:12:25.827985" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.828686" 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-08-18T20:12:25.828423" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.829603" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:25.828876" elapsed="0.000757"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.830155" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.829805" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.830706" 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-08-18T20:12:25.830389" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.831234" 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-08-18T20:12:25.830914" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.831726" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.831420" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.832409" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:25.831933" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.832941" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3d5d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.832606" 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-08-18T20:12:25.826104" elapsed="0.006934"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.833560" 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-08-18T20:12:25.833184" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.833994" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.833737" 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-08-18T20:12:25.841826" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.841488" elapsed="0.000367"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.847994" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.848225" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:25.848383" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.842003" elapsed="0.006416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.849099" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.848696" elapsed="0.000471"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.852298" 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-08-18T20:12:25.849371" elapsed="0.003015"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.854932" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.852489" elapsed="0.002514"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.852460" elapsed="0.002574"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.859158" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.859221" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:25.855226" elapsed="0.004028"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.861680" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.859356" elapsed="0.002421"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.859330" elapsed="0.002482"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.861860" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:12:25.862132" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:25.862192" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:25.841169" elapsed="0.021055"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.864819" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.863028" elapsed="0.001837"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.863003" elapsed="0.001883"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.865427" 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-08-18T20:12:25.865033" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.865973" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.865611" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.866048" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:25.866222" 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-08-18T20:12:25.862546" elapsed="0.003701"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.866440" 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-08-18T20:12:25.840556" elapsed="0.026363"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.874584" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.874277" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.889144" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.889561" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:25.890292" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.874762" elapsed="0.015590"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.891356" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.890791" elapsed="0.000665"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.895961" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:25.891806" elapsed="0.005434"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.899829" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.897340" elapsed="0.002557"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.897313" elapsed="0.002614"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.927947" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.927994" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:25.900118" elapsed="0.027899"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.929796" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.928095" elapsed="0.001767"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.928076" elapsed="0.001810"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.929921" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:25.930114" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:25.930157" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:25.873909" elapsed="0.056269"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.932295" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.930716" elapsed="0.001623"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.930698" elapsed="0.001663"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.932918" 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-08-18T20:12:25.932505" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.933452" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.933105" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.933527" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:25.933701" 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-08-18T20:12:25.930389" elapsed="0.003337"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.933897" 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-08-18T20:12:25.873288" elapsed="0.061057"/>
</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-08-18T20:12:25.822903" elapsed="0.111499"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:25.816172" elapsed="0.118348"/>
</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-08-18T20:12:25.945169" 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-08-18T20:12:25.945318" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.945026" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:25.945918" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e99e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:25.945495" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.946374" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:25.946094" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.946833" 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-08-18T20:12:25.946548" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:25.947303" 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-08-18T20:12:25.947005" elapsed="0.000324"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.948152" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:25.947475" elapsed="0.000707"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.948657" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.948334" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.949225" 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-08-18T20:12:25.948904" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.949806" 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-08-18T20:12:25.949460" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.950304" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.949996" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.950832" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:25.950495" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.951369" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e99e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:25.951024" 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-08-18T20:12:25.944685" elapsed="0.006779"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.951998" 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-08-18T20:12:25.951608" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.952410" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:25.952173" 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-08-18T20:12:25.960376" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.960078" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:25.967458" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:25.967602" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:25.967707" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.960529" elapsed="0.007203"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.968164" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:25.967914" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.970308" 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-08-18T20:12:25.968352" elapsed="0.002047"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.972239" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.970473" elapsed="0.001821"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.970453" elapsed="0.001890"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:25.977420" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:25.977465" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:25.972648" elapsed="0.004840"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:25.979245" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:25.977560" elapsed="0.001739"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.977542" elapsed="0.001780"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:25.979372" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.979565" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:25.979608" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:25.959744" elapsed="0.019887"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:25.981735" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:25.980179" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:25.980161" elapsed="0.001659"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.982356" 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-08-18T20:12:25.981963" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.982900" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:25.982538" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:25.982976" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:25.983153" 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-08-18T20:12:25.979853" elapsed="0.003324"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:25.983329" 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-08-18T20:12:25.959108" elapsed="0.024712"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:25.991803" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:25.991485" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.034525" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.035022" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:26.035676" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:25.991959" elapsed="0.043775"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.036720" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.036154" elapsed="0.000704"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.041193" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:26.037172" elapsed="0.005304"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.045185" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.042576" elapsed="0.002681"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.042550" elapsed="0.002739"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.072934" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.072982" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:26.045490" elapsed="0.027515"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.074798" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.073090" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.073070" elapsed="0.001819"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.074924" elapsed="0.000034"/>
</return>
<msg time="2026-08-18T20:12:26.075129" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:26.075172" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:25.991075" elapsed="0.084119"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.077364" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.075787" elapsed="0.001622"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.075767" elapsed="0.001664"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.078030" 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-08-18T20:12:26.077578" elapsed="0.000479"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.078558" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.078213" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.078632" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.078826" 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-08-18T20:12:26.075430" 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-08-18T20:12:26.079005" 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-08-18T20:12:25.990450" elapsed="0.089011"/>
</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-08-18T20:12:25.941440" elapsed="0.138078"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:25.934707" elapsed="0.144934"/>
</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-08-18T20:12:26.090374" 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-08-18T20:12:26.090542" 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-08-18T20:12:26.090229" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:26.091171" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570cbd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:26.090722" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.091631" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:26.091350" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.092088" 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-08-18T20:12:26.091821" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.092540" 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-08-18T20:12:26.092273" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.093413" 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-08-18T20:12:26.092713" elapsed="0.000731"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.093942" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.093597" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.094554" 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-08-18T20:12:26.094232" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.095085" 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-08-18T20:12:26.094749" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.095584" 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-08-18T20:12:26.095277" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.096105" 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-08-18T20:12:26.095792" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.096640" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570cbd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.096325" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:26.089898" elapsed="0.006836"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.097272" 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-08-18T20:12:26.096896" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.097685" 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-08-18T20:12:26.097448" 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-08-18T20:12:26.105528" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.105226" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.113307" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.113524" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:26.113670" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.105681" elapsed="0.008023"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.114301" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.113954" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.117305" 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-08-18T20:12:26.114554" elapsed="0.002880"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.119929" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.117533" elapsed="0.002464"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.117507" elapsed="0.002521"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.123303" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.123351" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:26.120217" elapsed="0.003157"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.125134" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.123446" elapsed="0.001743"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.123427" elapsed="0.001785"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.125245" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.125435" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:26.125478" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:26.104916" elapsed="0.020584"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.127749" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.126044" elapsed="0.001764"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.126026" elapsed="0.001804"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.128364" 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-08-18T20:12:26.127972" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.128954" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.128548" elapsed="0.000431"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.129028" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.129204" 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-08-18T20:12:26.125704" 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-08-18T20:12:26.129381" 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-08-18T20:12:26.104309" elapsed="0.025537"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.137503" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.137210" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.148151" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.148592" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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-08-18T20:12:26.149308" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.137656" elapsed="0.011713"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.150314" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.149721" elapsed="0.000693"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.155283" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;3&lt;/second&gt;&lt;nanosecond&gt;413000000&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;2&lt;/second&gt;&lt;nanosecond&gt;144000000&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;3&lt;/second&gt;&lt;nanosecond&gt;449000000&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;3&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;520000000&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;3&lt;/second&gt;&lt;nanosecond&gt;553000000&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;2&lt;/second&gt;&lt;nanosecond&gt;172000000&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;2&lt;/second&gt;&lt;nanosecond&gt;213000000&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;3&lt;/second&gt;&lt;nanosecond&gt;586000000&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;2&lt;/second&gt;&lt;nanosecond&gt;244000000&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;3&lt;/second&gt;&lt;nanosecond&gt;621000000&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;2&lt;/second&gt;&lt;nanosecond&gt;277000000&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;3&lt;/second&gt;&lt;nanosecond&gt;656000000&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;2&lt;/second&gt;&lt;nanosecond&gt;314000000&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;3&lt;/second&gt;&lt;nanosecond&gt;688000000&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;2&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;output-action&gt;&lt;max-length&gt;60&lt;/max-length&gt;&lt;output-node-connector&gt;TABLE&lt;/output-node-connector&gt;&lt;/output-action&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;720000000&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;3&lt;/second&gt;&lt;nanosecond&gt;754000000&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;2&lt;/second&gt;&lt;nanosecond&gt;810000000&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;3&lt;/second&gt;&lt;nanosecond&gt;96000000&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;2&lt;/second&gt;&lt;nanosecond&gt;12000000&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;3&lt;/second&gt;&lt;nanosecond&gt;131000000&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;2&lt;/second&gt;&lt;nanosecond&gt;45000000&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;3&lt;/second&gt;&lt;nanosecond&gt;166000000&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;2&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;3&lt;/second&gt;&lt;nanosecond&gt;201000000&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;3&lt;/second&gt;&lt;nanosecond&gt;237000000&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;3&lt;/second&gt;&lt;nanosecond&gt;271000000&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;3&lt;/second&gt;&lt;nanosecond&gt;307000000&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;2&lt;/second&gt;&lt;nanosecond&gt;110000000&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;3&lt;/second&gt;&lt;nanosecond&gt;343000000&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;3&lt;/second&gt;&lt;nanosecond&gt;375000000&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;2&lt;/second&gt;&lt;nanosecond&gt;454000000&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;2&lt;/second&gt;&lt;nanosecond&gt;490000000&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;2&lt;/second&gt;&lt;nanosecond&gt;960000000&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;2&lt;/second&gt;&lt;nanosecond&gt;526000000&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;1&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;559000000&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;2&lt;/second&gt;&lt;nanosecond&gt;595000000&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;2&lt;/second&gt;&lt;nanosecond&gt;629000000&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;2&lt;/second&gt;&lt;nanosecond&gt;666000000&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;1&lt;/second&gt;&lt;nanosecond&gt;843000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;703000000&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;1&lt;/second&gt;&lt;nanosecond&gt;875000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;2&lt;/second&gt;&lt;nanosecond&gt;995000000&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;2&lt;/second&gt;&lt;nanosecond&gt;739000000&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;1&lt;/second&gt;&lt;nanosecond&gt;907000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;12000000&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;2&lt;/second&gt;&lt;nanosecond&gt;774000000&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;1&lt;/second&gt;&lt;nanosecond&gt;941000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;3&lt;/second&gt;&lt;nanosecond&gt;63000000&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;1&lt;/second&gt;&lt;nanosecond&gt;979000000&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;2&lt;/second&gt;&lt;nanosecond&gt;848000000&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;2&lt;/second&gt;&lt;nanosecond&gt;884000000&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;2&lt;/second&gt;&lt;nanosecond&gt;922000000&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;2&lt;/second&gt;&lt;nanosecond&gt;421000000&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;2&lt;/second&gt;&lt;nanosecond&gt;386000000&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-08-18T20:12:26.150725" elapsed="0.006691"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.159239" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.157516" elapsed="0.001772"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.157497" elapsed="0.001813"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.185635" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.185683" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:26.159444" elapsed="0.026263"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.187474" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.185802" elapsed="0.001729"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.185782" elapsed="0.001773"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.187590" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:26.187803" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:26.187847" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:26.136842" elapsed="0.051028"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.190027" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.188416" elapsed="0.001657"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.188398" elapsed="0.001697"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.190644" 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-08-18T20:12:26.190241" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.191216" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.190857" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.191292" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.191470" 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-08-18T20:12:26.188085" elapsed="0.003410"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.191651" 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-08-18T20:12:26.136201" elapsed="0.055931"/>
</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-08-18T20:12:26.086604" elapsed="0.105584"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:26.079859" elapsed="0.112443"/>
</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-08-18T20:12:26.203028" 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-08-18T20:12:26.203169" 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-08-18T20:12:26.202887" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:26.203764" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:26.203347" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.204219" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:26.203943" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.204655" 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-08-18T20:12:26.204392" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.205121" 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-08-18T20:12:26.204856" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.205989" 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-08-18T20:12:26.205325" elapsed="0.000695"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.206498" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.206170" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.207067" 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-08-18T20:12:26.206730" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.207576" 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-08-18T20:12:26.207256" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.208087" 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-08-18T20:12:26.207779" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.208594" 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-08-18T20:12:26.208277" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.209112" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.208799" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:26.202545" elapsed="0.006662"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.209745" 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-08-18T20:12:26.209372" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.210182" 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-08-18T20:12:26.209941" 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-08-18T20:12:26.217987" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.217667" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.246288" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.246591" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:26.246874" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.218141" elapsed="0.028796"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.247876" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.247288" elapsed="0.000688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.252734" 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-08-18T20:12:26.248289" elapsed="0.004697"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.255646" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.253154" elapsed="0.002544"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.253108" elapsed="0.002613"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.258576" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.258622" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:26.255887" elapsed="0.002757"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.260435" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.258717" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.258699" elapsed="0.001816"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.260549" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:12:26.260764" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:26.260810" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:26.217354" elapsed="0.043479"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.263022" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.261383" elapsed="0.001684"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.261366" elapsed="0.001723"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.263666" 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-08-18T20:12:26.263251" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.264214" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.263867" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.264291" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.264467" 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-08-18T20:12:26.261051" elapsed="0.003442"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.264648" 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-08-18T20:12:26.216780" elapsed="0.048340"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.273140" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.272839" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.285585" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.285890" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:26.286292" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.273294" elapsed="0.013034"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.286915" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.286546" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.290026" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:26.287169" elapsed="0.004146"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.293849" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.291416" elapsed="0.002503"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.291389" elapsed="0.002591"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.321270" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.321317" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:26.294176" elapsed="0.027164"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.323143" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.321420" elapsed="0.001785"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.321401" elapsed="0.001828"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.323263" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.323457" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:26.323499" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:26.272454" elapsed="0.051067"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.325623" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.324082" elapsed="0.001586"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.324064" elapsed="0.001626"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.326304" 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-08-18T20:12:26.325854" elapsed="0.000477"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.326860" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.326492" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.326935" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.327110" 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-08-18T20:12:26.323734" elapsed="0.003400"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.327288" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:26.271841" elapsed="0.055891"/>
</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-08-18T20:12:26.199261" elapsed="0.128546"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:26.192488" elapsed="0.135442"/>
</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-08-18T20:12:26.340913" 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-08-18T20:12:26.341062" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.340768" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:26.341639" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3e20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:26.341241" elapsed="0.000425"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.342112" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:26.341832" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.342592" 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-08-18T20:12:26.342287" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.343051" 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-08-18T20:12:26.342782" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.343825" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.343226" elapsed="0.000630"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.344338" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.344009" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.344902" 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-08-18T20:12:26.344568" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.345419" 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-08-18T20:12:26.345092" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.345932" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.345605" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.346481" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.346123" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.347016" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3e20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.346679" 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-08-18T20:12:26.340430" elapsed="0.006683"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.347636" 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-08-18T20:12:26.347259" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.348074" level="INFO">&lt;?xml version="1.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-08-18T20:12:26.347835" 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-08-18T20:12:26.355914" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.355599" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.361711" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.361864" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:26.361969" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.356070" elapsed="0.005924"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.362409" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.362153" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.365120" 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-08-18T20:12:26.362632" elapsed="0.002611"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.367806" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.365342" elapsed="0.002534"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.365315" elapsed="0.002593"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.371819" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.371865" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:26.368097" elapsed="0.003791"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.373614" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.371960" elapsed="0.001710"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.371942" elapsed="0.001751"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.373727" elapsed="0.000044"/>
</return>
<msg time="2026-08-18T20:12:26.373938" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:26.373981" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:26.355286" elapsed="0.018717"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.376106" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.374533" elapsed="0.001618"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.374516" elapsed="0.001657"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.376715" 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-08-18T20:12:26.376321" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.377265" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.376918" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.377339" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.377514" 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-08-18T20:12:26.374210" elapsed="0.003329"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.377691" 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-08-18T20:12:26.354719" elapsed="0.023434"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.386043" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.385732" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.400052" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.400473" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:26.401143" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.386195" elapsed="0.015007"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.402272" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.401627" elapsed="0.000746"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.405785" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:26.402690" elapsed="0.004404"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.409593" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.407193" elapsed="0.002467"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.407167" elapsed="0.002524"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.435864" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.435911" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:26.409899" elapsed="0.026035"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.437707" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.436013" elapsed="0.001770"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.435994" elapsed="0.001814"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.437842" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:26.438042" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:26.438085" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:26.385363" elapsed="0.052744"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.440251" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.438652" elapsed="0.001644"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.438634" elapsed="0.001684"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.440888" 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-08-18T20:12:26.440466" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.441419" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.441073" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.441493" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:26.441671" 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-08-18T20:12:26.438322" elapsed="0.003374"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.441869" 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-08-18T20:12:26.384744" elapsed="0.057578"/>
</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-08-18T20:12:26.337200" elapsed="0.105179"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:26.328206" elapsed="0.114291"/>
</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-08-18T20:12:26.453247" 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-08-18T20:12:26.453390" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.453105" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:26.453970" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3dd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:26.453566" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.454422" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:26.454146" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.454874" 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-08-18T20:12:26.454593" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.455336" 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-08-18T20:12:26.455046" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.456075" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.455508" elapsed="0.000597"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.456578" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.456256" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.457146" 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-08-18T20:12:26.456829" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.457654" 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-08-18T20:12:26.457334" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.458165" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.457856" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.458665" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.458355" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.459185" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3dd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.458870" 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-08-18T20:12:26.452780" elapsed="0.006547"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.459867" 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-08-18T20:12:26.459472" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.460283" level="INFO">&lt;?xml version="1.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-08-18T20:12:26.460042" 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-08-18T20:12:26.468188" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.467880" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.473473" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.473633" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:26.473735" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.468343" elapsed="0.005438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.474193" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.473941" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.476493" 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-08-18T20:12:26.474382" elapsed="0.002189"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.479158" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.476676" elapsed="0.002607"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.476646" elapsed="0.002674"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.483081" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.483143" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:26.479534" 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-08-18T20:12:26.485314" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.483282" elapsed="0.002088"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.483252" elapsed="0.002142"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.485429" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:12:26.485629" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:26.485672" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:26.467546" elapsed="0.018148"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.487877" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.486248" elapsed="0.001674"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.486230" elapsed="0.001714"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.488490" 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-08-18T20:12:26.488089" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.489041" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.488674" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.489116" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:26.489295" 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-08-18T20:12:26.485919" elapsed="0.003401"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.489476" 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-08-18T20:12:26.466943" elapsed="0.023004"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.498027" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.497699" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.512559" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.513016" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:26.513655" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.498180" elapsed="0.015533"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.514659" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.514103" elapsed="0.000688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.519679" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:26.515103" elapsed="0.006101"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.523714" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.521304" elapsed="0.002497"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.521277" elapsed="0.002556"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.598179" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.598241" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:26.524020" elapsed="0.074245"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.600183" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.598383" elapsed="0.001891"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.598354" elapsed="0.001947"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.600340" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:12:26.600557" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:26.600601" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:26.497324" elapsed="0.103299"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.602852" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.601242" elapsed="0.001655"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.601223" elapsed="0.001696"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.603531" 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-08-18T20:12:26.603069" elapsed="0.000490"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.604085" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.603716" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.604161" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:26.604357" 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-08-18T20:12:26.600886" elapsed="0.003497"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.604538" 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-08-18T20:12:26.496695" elapsed="0.108332"/>
</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-08-18T20:12:26.449551" elapsed="0.155534"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:26.442784" elapsed="0.162427"/>
</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-08-18T20:12:26.616047" 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-08-18T20:12:26.616211" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.615902" elapsed="0.000339"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:26.616842" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3ec0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:26.616421" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.617295" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:26.617017" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.617729" 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-08-18T20:12:26.617466" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.618182" 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-08-18T20:12:26.617918" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.618951" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.618353" elapsed="0.000628"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.619461" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.619133" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.620039" 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-08-18T20:12:26.619703" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.620573" 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-08-18T20:12:26.620226" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.621085" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.620775" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.621588" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.621276" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.622247" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3ec0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.621792" 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-08-18T20:12:26.615557" elapsed="0.006788"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.622887" 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-08-18T20:12:26.622490" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.623302" level="INFO">&lt;?xml version="1.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-08-18T20:12:26.623064" elapsed="0.000293"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.630928" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.630609" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.637466" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.637629" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:26.637731" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.631081" elapsed="0.006696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.638188" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.637937" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.640331" 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-08-18T20:12:26.638374" elapsed="0.002011"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.642630" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.640456" elapsed="0.002247"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.640437" elapsed="0.002297"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.646454" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.646516" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:26.642948" elapsed="0.003600"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.649041" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.646648" elapsed="0.002470"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.646623" elapsed="0.002527"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.649198" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:26.649445" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:26.649488" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:26.630299" elapsed="0.019211"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.651780" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.650059" elapsed="0.001769"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.650041" elapsed="0.001809"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.652393" 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-08-18T20:12:26.651995" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.652960" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.652578" elapsed="0.000408"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.653036" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.653212" 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-08-18T20:12:26.649716" elapsed="0.003520"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.653389" 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-08-18T20:12:26.629732" elapsed="0.024124"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.661510" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.661215" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.676660" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.677000" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:26.677678" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.661663" elapsed="0.016076"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.678738" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.678154" elapsed="0.000723"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.683816" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:26.679187" elapsed="0.006584"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.687561" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.685850" elapsed="0.001762"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.685828" elapsed="0.001806"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.713007" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.713079" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:26.687785" elapsed="0.025319"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.714886" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.713183" elapsed="0.001759"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.713164" elapsed="0.001803"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.715000" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:12:26.715202" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:26.715244" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:26.660847" elapsed="0.054419"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.717474" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.715851" elapsed="0.001668"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.715833" elapsed="0.001708"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.718179" 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-08-18T20:12:26.717691" elapsed="0.000516"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.718717" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.718365" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.718811" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:26.718991" 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-08-18T20:12:26.715494" 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-08-18T20:12:26.719170" 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-08-18T20:12:26.660210" elapsed="0.059414"/>
</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-08-18T20:12:26.612239" elapsed="0.107443"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:26.605523" elapsed="0.114296"/>
</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-08-18T20:12:26.730599" 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-08-18T20:12:26.730763" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.730454" elapsed="0.000340"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:26.731358" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abdbc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:26.730942" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.731831" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:26.731533" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.732271" 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-08-18T20:12:26.732005" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.732708" 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-08-18T20:12:26.732443" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.733623" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.732896" elapsed="0.000758"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.734149" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.733822" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.734695" 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-08-18T20:12:26.734379" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.735221" 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-08-18T20:12:26.734902" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.735715" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.735408" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.736239" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.735924" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.736764" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abdbc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.736435" 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-08-18T20:12:26.730129" elapsed="0.006733"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.737415" 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-08-18T20:12:26.737007" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.737853" level="INFO">&lt;?xml version="1.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-08-18T20:12:26.737594" 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-08-18T20:12:26.745664" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.745357" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.751860" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.752107" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:26.752310" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.745834" elapsed="0.006532"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.752972" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.752599" elapsed="0.000435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.756085" 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-08-18T20:12:26.753273" elapsed="0.002895"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.758703" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.756265" elapsed="0.002529"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.756238" elapsed="0.002588"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.763059" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.763105" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:26.759017" elapsed="0.004110"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.764882" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.763200" elapsed="0.001739"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.763182" elapsed="0.001780"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.764996" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:26.765188" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:26.765231" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:26.745023" elapsed="0.020229"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.767519" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.765815" elapsed="0.001749"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.765797" elapsed="0.001789"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.768148" 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-08-18T20:12:26.767729" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.768678" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.768332" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.768768" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:26.768948" 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-08-18T20:12:26.765471" elapsed="0.003503"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.769124" 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-08-18T20:12:26.744455" elapsed="0.025139"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.777287" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.776992" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.790298" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.790718" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:26.791405" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.777439" elapsed="0.014024"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.792401" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.791843" elapsed="0.000657"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.797394" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:26.792843" elapsed="0.006111"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.800732" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.799026" elapsed="0.001770"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.799007" elapsed="0.001811"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.825566" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.825613" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:26.800954" elapsed="0.024681"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.827432" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.825713" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.825694" elapsed="0.001817"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.827545" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.827738" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:26.827798" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:26.776606" elapsed="0.051215"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.829973" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.828362" elapsed="0.001657"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.828344" elapsed="0.001697"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.830587" 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-08-18T20:12:26.830186" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.831143" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.830791" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.831218" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.831395" 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-08-18T20:12:26.828034" elapsed="0.003385"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.831574" 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-08-18T20:12:26.776001" elapsed="0.056040"/>
</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-08-18T20:12:26.726898" elapsed="0.105200"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:26.720106" elapsed="0.112110"/>
</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-08-18T20:12:26.842984" 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-08-18T20:12:26.843125" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.842845" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:26.843712" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc9f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:26.843300" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.844181" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:26.843904" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.844615" 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-08-18T20:12:26.844352" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.845066" 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-08-18T20:12:26.844801" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.845938" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.845237" elapsed="0.000732"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.846484" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.846155" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.847056" 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-08-18T20:12:26.846716" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.847572" 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-08-18T20:12:26.847246" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.848086" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.847776" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.848588" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.848276" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.849111" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc9f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.848794" elapsed="0.000358"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:26.842505" elapsed="0.006701"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.849735" 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-08-18T20:12:26.849352" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.850199" level="INFO">&lt;?xml version="1.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-08-18T20:12:26.849930" 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-08-18T20:12:26.859903" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.859587" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.866532" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.866669" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:26.866806" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.860056" elapsed="0.006777"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.867245" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.866995" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.869409" 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-08-18T20:12:26.867459" elapsed="0.002010"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.871290" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.869538" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.869519" elapsed="0.001869"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.875739" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.875826" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:26.871602" elapsed="0.004256"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.878380" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.875959" elapsed="0.002502"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.875933" elapsed="0.002562"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.878543" elapsed="0.000044"/>
</return>
<msg time="2026-08-18T20:12:26.878850" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:26.878911" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:26.859277" elapsed="0.019665"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.881217" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.879654" elapsed="0.001608"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.879636" elapsed="0.001648"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.881860" 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-08-18T20:12:26.881429" elapsed="0.000458"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.882423" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.882042" elapsed="0.000408"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.882498" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:26.882675" 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-08-18T20:12:26.879247" 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-08-18T20:12:26.882870" 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-08-18T20:12:26.858712" elapsed="0.024613"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.891192" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.890893" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.903457" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.903739" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:26.904183" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.891344" elapsed="0.012875"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.904804" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.904436" elapsed="0.000440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.907905" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:26.905068" 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-08-18T20:12:26.911682" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.909285" elapsed="0.002445"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.909258" elapsed="0.002509"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.936004" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.936050" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:26.911903" elapsed="0.024170"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.937841" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.936150" elapsed="0.001755"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.936131" elapsed="0.001798"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.937961" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:26.938154" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:26.938197" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:26.890508" elapsed="0.047711"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.940366" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.938800" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.938781" elapsed="0.001652"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.940990" 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-08-18T20:12:26.940577" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.941525" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.941177" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.941599" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:26.941794" 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-08-18T20:12:26.938432" elapsed="0.003388"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.941973" 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-08-18T20:12:26.889876" elapsed="0.052542"/>
</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-08-18T20:12:26.839275" elapsed="0.103200"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:26.832483" elapsed="0.110115"/>
</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-08-18T20:12:26.953396" 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-08-18T20:12:26.953545" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.953254" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:26.954161" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37b50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:26.953722" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.954622" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:26.954339" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.955110" 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-08-18T20:12:26.954839" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:26.955547" 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-08-18T20:12:26.955282" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.956477" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.955724" elapsed="0.000784"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.957010" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.956663" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.957559" 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-08-18T20:12:26.957242" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.958087" 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-08-18T20:12:26.957764" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.958587" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:26.958275" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.959130" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:26.958792" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.959635" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37b50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:26.959321" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:26.952928" elapsed="0.006802"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.960271" 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-08-18T20:12:26.959892" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.960689" level="INFO">&lt;?xml version="1.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-08-18T20:12:26.960452" 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-08-18T20:12:26.968514" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:26.968217" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:26.974793" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:26.974938" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:26.975078" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:26.968667" elapsed="0.006435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.975629" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:26.975262" elapsed="0.000473"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.978678" 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-08-18T20:12:26.975957" elapsed="0.002828"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.981371" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.978886" elapsed="0.002555"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.978859" elapsed="0.002615"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:26.985355" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:26.985402" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:26.981666" elapsed="0.003760"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:26.987241" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:26.985500" elapsed="0.001798"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.985481" elapsed="0.001841"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:26.987357" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:26.987552" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:26.987596" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:26.967905" elapsed="0.019714"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:26.991922" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:26.988174" elapsed="0.003795"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:26.988157" elapsed="0.003835"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.992538" 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-08-18T20:12:26.992139" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:26.993093" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:26.992724" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:26.993170" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:26.993348" 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-08-18T20:12:26.987846" elapsed="0.005528"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:26.993527" 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-08-18T20:12:26.967336" elapsed="0.026658"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.001873" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.001559" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.017481" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.017945" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:27.018592" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.002028" elapsed="0.016624"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.019674" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.019046" elapsed="0.000761"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.024692" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:27.020126" elapsed="0.006664"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.029561" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.026953" elapsed="0.002657"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.026910" elapsed="0.002722"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.058021" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.058068" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:27.029784" elapsed="0.028307"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.059936" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.058169" elapsed="0.001825"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.058150" elapsed="0.001868"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.060051" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:27.060246" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:27.060289" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:27.001188" elapsed="0.059123"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.062400" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.060868" elapsed="0.001576"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.060850" elapsed="0.001616"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.063023" 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-08-18T20:12:27.062609" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.063556" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.063209" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.063667" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.063861" 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-08-18T20:12:27.060524" elapsed="0.003363"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.064040" 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-08-18T20:12:27.000565" elapsed="0.063920"/>
</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-08-18T20:12:26.949671" elapsed="0.114872"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:26.942923" elapsed="0.121735"/>
</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-08-18T20:12:27.075326" 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-08-18T20:12:27.075462" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:27.075188" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:27.076053" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abfba0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:27.075639" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.076505" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:27.076230" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.076963" 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-08-18T20:12:27.076678" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.077400" 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-08-18T20:12:27.077136" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.078125" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:27.077571" elapsed="0.000584"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.078628" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.078307" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.079194" 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-08-18T20:12:27.078877" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.079702" 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-08-18T20:12:27.079383" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.080244" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:27.079935" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.080764" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:27.080434" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.081272" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abfba0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.080958" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:27.074864" elapsed="0.006504"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.081905" 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-08-18T20:12:27.081512" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.082320" level="INFO">&lt;?xml version="1.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-08-18T20:12:27.082083" elapsed="0.000291"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.090240" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.089925" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.095723" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.095926" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:27.096031" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.090399" elapsed="0.005658"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.096529" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.096219" elapsed="0.000374"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.099514" 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-08-18T20:12:27.096813" elapsed="0.002778"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.102173" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.099694" elapsed="0.002550"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.099664" elapsed="0.002669"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.105668" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.105714" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:27.102527" elapsed="0.003209"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.107487" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.105836" elapsed="0.001706"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.105811" elapsed="0.001754"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.107599" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:12:27.107813" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:27.107857" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:27.089587" elapsed="0.018291"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.110101" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.108458" elapsed="0.001688"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.108440" elapsed="0.001728"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.110711" 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-08-18T20:12:27.110313" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.111256" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.110912" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.111330" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.111505" 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-08-18T20:12:27.108127" elapsed="0.003403"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.111682" elapsed="0.000448"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:27.088994" elapsed="0.023198"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.119790" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.119482" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.134243" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.134665" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:27.135390" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.119944" elapsed="0.015505"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.136462" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.135838" elapsed="0.000726"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.139875" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:27.136913" elapsed="0.004298"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.143718" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.141314" elapsed="0.002494"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.141287" elapsed="0.002552"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.174043" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.174091" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:27.144030" elapsed="0.030083"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.175880" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.174191" elapsed="0.001745"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.174172" elapsed="0.001788"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.175994" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.176188" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:27.176231" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:27.119115" elapsed="0.057138"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.178402" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.176858" elapsed="0.001589"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.176840" elapsed="0.001628"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.179027" 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-08-18T20:12:27.178611" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.179559" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.179212" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.179634" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.179832" 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-08-18T20:12:27.176509" elapsed="0.003349"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.180012" 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-08-18T20:12:27.118498" elapsed="0.061978"/>
</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-08-18T20:12:27.071620" elapsed="0.108914"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:27.064937" elapsed="0.115716"/>
</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-08-18T20:12:27.191367" 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-08-18T20:12:27.191530" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:27.191220" elapsed="0.000340"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:27.192169" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abebb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:27.191712" elapsed="0.000485"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.192716" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:27.192348" elapsed="0.000396"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.193190" 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-08-18T20:12:27.192915" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.193633" 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-08-18T20:12:27.193366" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.194565" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:27.193821" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.195096" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.194766" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.195655" 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-08-18T20:12:27.195340" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.196179" 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-08-18T20:12:27.195860" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.196706" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:27.196364" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.197227" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:27.196914" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.197736" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abebb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.197423" 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-08-18T20:12:27.190886" elapsed="0.006962"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.198375" 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-08-18T20:12:27.197992" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.198806" level="INFO">&lt;?xml version="1.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-08-18T20:12:27.198552" 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-08-18T20:12:27.208511" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.208120" elapsed="0.000426"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.214494" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.214776" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:27.214952" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.208765" elapsed="0.006227"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.215677" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.215309" elapsed="0.000460"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.218909" 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-08-18T20:12:27.215979" elapsed="0.003020"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.221919" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.219110" elapsed="0.002888"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.219078" elapsed="0.002954"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.226359" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.226404" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:27.222235" elapsed="0.004192"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.228178" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.226501" elapsed="0.001734"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.226483" elapsed="0.001775"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.228292" elapsed="0.000034"/>
</return>
<msg time="2026-08-18T20:12:27.228498" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:27.228541" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:27.207697" elapsed="0.020866"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.230866" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.229155" elapsed="0.001756"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.229137" elapsed="0.001796"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.231477" 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-08-18T20:12:27.231078" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.232031" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.231660" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.232106" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:27.232281" 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-08-18T20:12:27.228790" 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-08-18T20:12:27.232457" 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-08-18T20:12:27.207085" elapsed="0.025855"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.240606" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.240250" elapsed="0.000383"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.254491" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.255072" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:27.255883" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.240778" elapsed="0.015168"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.257225" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.256427" elapsed="0.000901"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.261852" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:27.257643" elapsed="0.005167"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.264652" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.262911" elapsed="0.001800"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.262881" elapsed="0.001854"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.295028" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.295075" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:27.264896" elapsed="0.030202"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.296897" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.295177" elapsed="0.001777"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.295158" elapsed="0.001820"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.297012" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:27.297235" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:27.297280" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:27.239879" elapsed="0.057458"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.299569" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.298006" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.297988" elapsed="0.001649"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.300242" 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-08-18T20:12:27.299815" elapsed="0.000454"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.300793" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.300429" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.300870" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:27.301049" 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-08-18T20:12:27.297623" 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-08-18T20:12:27.301231" 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-08-18T20:12:27.239252" elapsed="0.062475"/>
</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-08-18T20:12:27.187594" elapsed="0.114213"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:27.180856" elapsed="0.121090"/>
</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-08-18T20:12:27.312771" 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-08-18T20:12:27.312936" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.312608" elapsed="0.000356"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:27.313585" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911080&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:27.313117" elapsed="0.000497"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.314074" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:27.313785" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.314520" 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-08-18T20:12:27.314248" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.314976" 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-08-18T20:12:27.314691" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.315807" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:27.315149" elapsed="0.000690"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.316321" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.315994" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.316897" 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-08-18T20:12:27.316555" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.317414" 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-08-18T20:12:27.317090" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.317957" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.317629" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.318462" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:27.318149" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.318987" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911080&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.318653" 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-08-18T20:12:27.312271" elapsed="0.006810"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.319602" 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-08-18T20:12:27.319226" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.320035" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.319796" 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-08-18T20:12:27.327868" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.327540" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.333293" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.333434" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:27.333539" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.328023" elapsed="0.005562"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.334024" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.333764" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.336170" 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-08-18T20:12:27.334208" 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-08-18T20:12:27.338103" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.336342" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.336323" elapsed="0.001852"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.342161" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.342223" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:27.338334" elapsed="0.003923"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.344775" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.342382" elapsed="0.002472"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.342350" elapsed="0.002537"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.344935" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:27.345203" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:27.345262" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:27.327228" elapsed="0.018064"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.347919" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.346244" elapsed="0.001720"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.346217" elapsed="0.001769"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.348529" 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-08-18T20:12:27.348131" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.349084" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.348713" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.349160" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.349339" 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-08-18T20:12:27.345583" elapsed="0.003785"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.349521" 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-08-18T20:12:27.326652" elapsed="0.023355"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.357874" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.357548" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.372084" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.372507" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:27.373188" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.358030" elapsed="0.015218"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.374226" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.373599" elapsed="0.000740"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.379231" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:27.374673" 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-08-18T20:12:27.383696" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.381458" elapsed="0.002302"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.381415" elapsed="0.002368"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.411021" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.411082" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:27.383921" elapsed="0.027185"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.413123" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.411233" elapsed="0.001952"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.411201" elapsed="0.002011"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.413253" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:27.413480" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:27.413523" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:27.357178" elapsed="0.056368"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.415880" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.414260" elapsed="0.001665"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.414240" elapsed="0.001707"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.416573" 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-08-18T20:12:27.416101" elapsed="0.000499"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.417124" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.416775" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.417199" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.417377" 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-08-18T20:12:27.413835" 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-08-18T20:12:27.417556" 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-08-18T20:12:27.356549" elapsed="0.061497"/>
</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-08-18T20:12:27.309047" elapsed="0.109059"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:27.302278" elapsed="0.115981"/>
</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-08-18T20:12:27.429139" 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-08-18T20:12:27.429306" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.428994" elapsed="0.000340"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:27.429910" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389fd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:27.429483" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.430420" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:27.430088" elapsed="0.000358"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.430879" 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-08-18T20:12:27.430595" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.431314" 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-08-18T20:12:27.431051" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.432127" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:27.431485" elapsed="0.000672"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.432641" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.432313" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.433296" 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-08-18T20:12:27.432906" elapsed="0.000433"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.433831" 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-08-18T20:12:27.433492" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.434345" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.434022" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.434867" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:27.434537" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.435373" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389fd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.435060" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:27.428651" elapsed="0.006816"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.436007" 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-08-18T20:12:27.435613" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.436423" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.436183" 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-08-18T20:12:27.444271" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.443962" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.449599" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.449792" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:27.449900" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.444427" elapsed="0.005498"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.450333" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.450082" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.452533" 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-08-18T20:12:27.450545" elapsed="0.002077"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.454449" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.452692" elapsed="0.001812"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.452673" elapsed="0.001853"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.458076" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.458139" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:27.454664" 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-08-18T20:12:27.460634" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.458273" elapsed="0.002437"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.458247" elapsed="0.002500"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.460813" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:27.461080" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:27.461141" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:27.443632" elapsed="0.017540"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.464014" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.461941" elapsed="0.002119"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.461916" elapsed="0.002165"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.464617" 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-08-18T20:12:27.464224" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.465162" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.464817" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.465235" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.465411" 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-08-18T20:12:27.461462" elapsed="0.003974"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.465589" 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-08-18T20:12:27.443076" elapsed="0.022977"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.473934" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.473623" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.488405" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.488868" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:27.489520" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.474087" elapsed="0.015491"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.490525" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.489964" elapsed="0.000692"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.495514" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:27.491003" elapsed="0.005806"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.499324" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.496908" elapsed="0.002485"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.496882" elapsed="0.002542"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.530471" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.530517" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:27.499613" elapsed="0.030927"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.532309" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.530617" elapsed="0.001747"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.530598" elapsed="0.001790"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.532422" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:27.532614" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:27.532657" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:27.473254" elapsed="0.059425"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.534791" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.533235" elapsed="0.001602"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.533218" elapsed="0.001640"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.535426" 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-08-18T20:12:27.535027" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.535975" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.535611" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.536049" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.536225" 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-08-18T20:12:27.532910" elapsed="0.003339"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.536401" 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-08-18T20:12:27.472627" elapsed="0.064234"/>
</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-08-18T20:12:27.425422" elapsed="0.111496"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:27.418631" elapsed="0.118405"/>
</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-08-18T20:12:27.547724" 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-08-18T20:12:27.547889" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:27.547587" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:27.548473" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6a20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:27.548065" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.548941" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:27.548647" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.549377" 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-08-18T20:12:27.549114" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.549832" 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-08-18T20:12:27.549547" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.550614" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.550003" elapsed="0.000640"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.551155" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.550811" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.551719" 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-08-18T20:12:27.551398" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.552250" 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-08-18T20:12:27.551929" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.552761" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:27.552439" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.553267" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.552955" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.553786" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6a20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.553457" 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-08-18T20:12:27.547263" elapsed="0.006618"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.554402" 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-08-18T20:12:27.554026" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.554830" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.554577" 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-08-18T20:12:27.562674" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.562378" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.568067" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.568196" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:27.568300" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.562843" elapsed="0.005485"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.568735" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.568488" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.570932" 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-08-18T20:12:27.568949" elapsed="0.002073"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.573431" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.571094" elapsed="0.002406"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.571075" elapsed="0.002456"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.577564" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.577627" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:27.573721" elapsed="0.003937"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.580127" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.577781" elapsed="0.002423"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.577733" elapsed="0.002502"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.580283" elapsed="0.000047"/>
</return>
<msg time="2026-08-18T20:12:27.580566" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:27.580608" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:27.562068" elapsed="0.018562"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.582731" elapsed="0.000028"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.581182" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.581165" elapsed="0.001648"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.583367" 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-08-18T20:12:27.582955" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.583915" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.583554" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.583989" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:27.584162" 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-08-18T20:12:27.580859" elapsed="0.003328"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.584337" elapsed="0.000377"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:27.561503" elapsed="0.023291"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.592640" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.592347" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.607855" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.608274" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:27.608958" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.592808" elapsed="0.016210"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.609965" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.609370" elapsed="0.000694"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.614970" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:27.610372" elapsed="0.006442"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.619302" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.616915" elapsed="0.002454"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.616888" elapsed="0.002510"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.650369" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.650416" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:27.619606" elapsed="0.030833"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.652208" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.650515" elapsed="0.001748"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.650496" elapsed="0.001791"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.652320" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.652515" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:27.652557" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:27.591978" elapsed="0.060601"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.654686" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.653139" elapsed="0.001591"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.653121" elapsed="0.001645"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.655316" 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-08-18T20:12:27.654913" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.655955" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.655500" elapsed="0.000482"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.656031" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.656210" 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-08-18T20:12:27.652810" 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-08-18T20:12:27.656389" 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-08-18T20:12:27.591346" elapsed="0.065532"/>
</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-08-18T20:12:27.544050" elapsed="0.112888"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:27.537290" elapsed="0.119765"/>
</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-08-18T20:12:27.667936" 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-08-18T20:12:27.668076" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.667792" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:27.668650" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef4c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:27.668251" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.669125" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:27.668846" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.669563" 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-08-18T20:12:27.669298" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.670018" 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-08-18T20:12:27.669733" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.670868" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:27.670190" elapsed="0.000708"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.671416" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.671051" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.672155" 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-08-18T20:12:27.671679" elapsed="0.000530"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.672691" 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-08-18T20:12:27.672365" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.673206" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.672899" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.673713" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:27.673401" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.674234" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef4c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.673922" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:27.667440" elapsed="0.006890"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.674872" 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-08-18T20:12:27.674475" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.675286" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.675048" 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-08-18T20:12:27.683104" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.682797" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.690551" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.690928" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:27.691190" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.683259" elapsed="0.007992"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.692407" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.691632" elapsed="0.000885"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.697660" 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-08-18T20:12:27.692902" 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-08-18T20:12:27.701252" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.698085" elapsed="0.003218"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.698036" elapsed="0.003289"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.704208" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.704254" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:27.701461" elapsed="0.002815"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.706025" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.704349" elapsed="0.001731"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.704331" elapsed="0.001772"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.706137" elapsed="0.000034"/>
</return>
<msg time="2026-08-18T20:12:27.706337" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:27.706380" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:27.682464" elapsed="0.023937"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.709649" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.706960" elapsed="0.002746"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.706942" elapsed="0.002789"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.710387" 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-08-18T20:12:27.709936" elapsed="0.000480"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.710940" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.710574" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.711014" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.711197" 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-08-18T20:12:27.706611" elapsed="0.004612"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.711376" 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-08-18T20:12:27.681899" elapsed="0.029946"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.719523" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.719228" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.733720" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.734025" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:27.734474" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.719677" elapsed="0.014834"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.735109" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.734733" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.738195" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:27.735372" elapsed="0.004130"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.742066" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.739602" elapsed="0.002532"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.739576" elapsed="0.002588"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.773971" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.774018" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:27.742352" elapsed="0.031690"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.775810" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.774121" elapsed="0.001746"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.774102" elapsed="0.001789"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.775925" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:27.776120" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:27.776162" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:27.718858" elapsed="0.057326"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.778308" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.776762" elapsed="0.001591"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.776730" elapsed="0.001645"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.778942" 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-08-18T20:12:27.778518" elapsed="0.000451"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.779476" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.779127" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.779551" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:27.779727" 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-08-18T20:12:27.776402" elapsed="0.003367"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.779924" 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-08-18T20:12:27.718222" elapsed="0.062153"/>
</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-08-18T20:12:27.664262" elapsed="0.116170"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:27.657352" elapsed="0.123235"/>
</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-08-18T20:12:27.791432" 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-08-18T20:12:27.791610" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:27.791290" elapsed="0.000350"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:27.792197" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebe70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:27.791806" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.792664" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:27.792373" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.793119" 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-08-18T20:12:27.792852" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.793555" 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-08-18T20:12:27.793291" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.794346" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.793726" elapsed="0.000649"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.794867" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.794528" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.795413" 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-08-18T20:12:27.795097" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.795939" 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-08-18T20:12:27.795603" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.796432" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:27.796127" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.796973" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.796644" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.797477" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebe70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.797165" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:27.790965" elapsed="0.006607"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.798108" 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-08-18T20:12:27.797716" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.798520" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:27.798284" elapsed="0.000293"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.806306" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.806010" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.811385" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.811525" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:27.811630" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.806458" elapsed="0.005197"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.812086" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.811834" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.814648" 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-08-18T20:12:27.812270" elapsed="0.002524"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.817300" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.814895" elapsed="0.002473"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.814868" elapsed="0.002530"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.821311" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.821374" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:27.817586" elapsed="0.003819"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.823379" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.821505" elapsed="0.001929"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.821480" elapsed="0.001977"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.823490" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:27.823681" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:27.823723" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:27.805684" elapsed="0.018077"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.825866" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.824295" elapsed="0.001616"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.824278" elapsed="0.001655"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.826466" 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-08-18T20:12:27.826074" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.827012" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.826648" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.827087" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:27.827261" 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-08-18T20:12:27.823970" elapsed="0.003316"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.827443" 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-08-18T20:12:27.805128" elapsed="0.022776"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.835715" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.835419" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.849913" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.850365" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:27.851098" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.835898" elapsed="0.015262"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.852174" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.851536" elapsed="0.000745"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.855779" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:27.852608" elapsed="0.004477"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.859575" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.857184" elapsed="0.002459"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.857158" elapsed="0.002515"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.884906" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.884952" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:27.859881" elapsed="0.025094"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.886771" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.885052" elapsed="0.001776"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.885032" elapsed="0.001820"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.886886" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:27.887080" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:27.887123" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:27.835053" elapsed="0.052092"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.889278" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.887683" elapsed="0.001639"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.887665" elapsed="0.001679"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.889908" 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-08-18T20:12:27.889489" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.890440" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.890095" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.890515" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:27.890692" 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-08-18T20:12:27.887355" elapsed="0.003361"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.890888" 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-08-18T20:12:27.834432" elapsed="0.056902"/>
</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-08-18T20:12:27.787719" elapsed="0.103671"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:27.780986" elapsed="0.110520"/>
</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-08-18T20:12:27.902411" 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-08-18T20:12:27.902566" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:27.902260" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:27.903204" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3cc70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:27.902766" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.903660" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:27.903381" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.904118" 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-08-18T20:12:27.903850" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:27.904553" 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-08-18T20:12:27.904288" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.905509" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:27.904724" elapsed="0.000816"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.906046" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.905696" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.906612" 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-08-18T20:12:27.906286" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.907140" 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-08-18T20:12:27.906819" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.907634" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:27.907328" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.908157" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:27.907843" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.908662" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3cc70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:27.908348" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:27.901925" elapsed="0.006852"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.909337" 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-08-18T20:12:27.908924" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.909774" level="INFO">&lt;?xml version="1.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-08-18T20:12:27.909518" 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-08-18T20:12:27.917613" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.917282" elapsed="0.000358"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.922792" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.922954" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:27.923062" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.917783" elapsed="0.005303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.923491" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.923242" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.925708" 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-08-18T20:12:27.923708" elapsed="0.002075"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.928091" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.925856" elapsed="0.002305"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.925835" elapsed="0.002356"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:27.932527" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:27.932590" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:27.928379" elapsed="0.004242"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:27.934936" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:27.932722" elapsed="0.002269"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.932696" elapsed="0.002318"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:27.935048" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.935241" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:27.935283" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:27.916970" elapsed="0.018334"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.937583" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.935850" elapsed="0.001779"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.935832" elapsed="0.001818"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.938205" 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-08-18T20:12:27.937810" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.938732" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:27.938387" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:27.938830" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:27.939008" 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-08-18T20:12:27.935508" elapsed="0.003524"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:27.939184" 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-08-18T20:12:27.916394" elapsed="0.023236"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.947285" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:27.946993" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:27.962081" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:27.962350" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:27.962784" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:27.947435" elapsed="0.015387"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.963393" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:27.963043" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:27.966522" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:27.963657" elapsed="0.004159"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:27.970351" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:27.967915" elapsed="0.002503"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:27.967888" elapsed="0.002561"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.052691" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.052776" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:27.970638" elapsed="0.082165"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.054780" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.052927" elapsed="0.001913"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.052897" elapsed="0.001969"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.054905" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:28.055126" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:28.055170" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:27.946600" elapsed="0.108593"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.057355" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.055813" elapsed="0.001591"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.055794" elapsed="0.001631"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.058053" 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-08-18T20:12:28.057574" elapsed="0.000507"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.058599" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.058237" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.058673" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:28.058868" 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-08-18T20:12:28.055442" 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-08-18T20:12:28.059048" 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-08-18T20:12:27.945992" elapsed="0.113519"/>
</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-08-18T20:12:27.898674" elapsed="0.160893"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:27.891784" elapsed="0.167909"/>
</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-08-18T20:12:28.070521" 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-08-18T20:12:28.070704" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.070374" elapsed="0.000360"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:28.071334" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebba0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:28.070900" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.071805" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:28.071510" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.072242" 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-08-18T20:12:28.071978" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.072675" 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-08-18T20:12:28.072412" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.073774" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.072864" elapsed="0.000942"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.074286" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.073958" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.074902" 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-08-18T20:12:28.074568" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.075409" 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-08-18T20:12:28.075091" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.075916" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.075593" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.076415" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.076105" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.076931" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebba0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.076602" 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-08-18T20:12:28.070020" elapsed="0.007006"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.077539" 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-08-18T20:12:28.077168" elapsed="0.000401"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.077969" level="INFO">&lt;?xml version="1.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-08-18T20:12:28.077714" 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-08-18T20:12:28.085641" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.085339" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.092169" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.092348" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:28.092456" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.085814" elapsed="0.006667"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.092946" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.092668" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.095111" 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-08-18T20:12:28.093128" 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-08-18T20:12:28.097641" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.095241" elapsed="0.002467"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.095222" elapsed="0.002517"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.102012" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.102078" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:28.097950" elapsed="0.004159"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.104458" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.102219" elapsed="0.002294"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.102194" elapsed="0.002343"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.104570" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.104784" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:28.104828" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:28.085029" elapsed="0.019821"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.106950" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.105379" elapsed="0.001616"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.105361" elapsed="0.001655"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.107556" 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-08-18T20:12:28.107159" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.108108" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.107741" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.108184" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:28.108358" 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-08-18T20:12:28.105057" elapsed="0.003328"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.108539" 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-08-18T20:12:28.084470" elapsed="0.024533"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.116636" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.116342" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.127961" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.128162" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:28.128503" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.116804" elapsed="0.011744"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.129159" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.128808" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.132222" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:28.129415" elapsed="0.004090"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.136061" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.133603" elapsed="0.002527"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.133577" elapsed="0.002584"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.164877" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.164930" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:28.136347" elapsed="0.028606"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.166712" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.165030" elapsed="0.001754"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.165012" elapsed="0.001797"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.166842" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.167050" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:28.167093" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:28.115974" elapsed="0.051141"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.169233" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.167666" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.167648" elapsed="0.001651"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.169855" 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-08-18T20:12:28.169441" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.170384" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.170039" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.170458" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.170633" 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-08-18T20:12:28.167338" elapsed="0.003320"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.170826" 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-08-18T20:12:28.115358" elapsed="0.055941"/>
</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-08-18T20:12:28.066828" elapsed="0.104528"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:28.060042" elapsed="0.111431"/>
</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-08-18T20:12:28.182167" 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-08-18T20:12:28.182320" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.182027" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:28.182950" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570db20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:28.182497" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.183419" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:28.183142" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.183875" 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-08-18T20:12:28.183593" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.184310" 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-08-18T20:12:28.184047" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.187305" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.184482" elapsed="0.002855"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.187836" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.187495" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.188404" 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-08-18T20:12:28.188087" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.188928" 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-08-18T20:12:28.188592" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.189420" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.189114" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.189939" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.189609" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.190446" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570db20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.190128" 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-08-18T20:12:28.181687" elapsed="0.008854"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.191081" 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-08-18T20:12:28.190685" elapsed="0.000427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.191524" level="INFO">&lt;?xml version="1.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-08-18T20:12:28.191288" 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-08-18T20:12:28.199186" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.198878" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.204792" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.204973" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:28.205135" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.199344" elapsed="0.005825"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.205803" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.205430" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.208830" 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-08-18T20:12:28.206059" elapsed="0.002856"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.211452" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.209011" elapsed="0.002509"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.208985" elapsed="0.002566"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.214883" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.214928" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:28.211738" elapsed="0.003212"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.216688" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.215023" elapsed="0.001723"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.215005" elapsed="0.001778"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.216816" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.217006" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:28.217049" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:28.198557" elapsed="0.018514"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.219337" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.217599" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.217582" elapsed="0.001824"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.219961" 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-08-18T20:12:28.219548" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.220489" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.220144" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.220564" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.220740" 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-08-18T20:12:28.217275" elapsed="0.003506"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.220935" elapsed="0.000376"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:28.198017" elapsed="0.023355"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.229012" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.228704" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.245021" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.245282" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:28.245683" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.229165" elapsed="0.016555"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.246314" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.245967" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.249401" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:28.246567" elapsed="0.004121"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.253232" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.250805" elapsed="0.002496"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.250777" elapsed="0.002555"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.282432" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.282478" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:28.253526" elapsed="0.028974"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.284276" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.282576" elapsed="0.001755"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.282558" elapsed="0.001797"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.284388" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:28.284580" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:28.284623" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:28.228340" elapsed="0.056304"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.286741" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.285195" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.285177" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.287361" 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-08-18T20:12:28.286966" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.287991" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.287546" elapsed="0.000472"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.288069" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:28.288247" 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-08-18T20:12:28.284869" elapsed="0.003403"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.288425" 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-08-18T20:12:28.227729" elapsed="0.061157"/>
</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-08-18T20:12:28.178478" elapsed="0.110463"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:28.171735" elapsed="0.117316"/>
</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-08-18T20:12:28.299747" 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-08-18T20:12:28.299908" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.299611" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:28.300489" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8ae0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:28.300084" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.300957" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:28.300664" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.301393" 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-08-18T20:12:28.301130" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.301846" 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-08-18T20:12:28.301564" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.302711" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.302018" elapsed="0.000723"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.303230" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.302910" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.303791" 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-08-18T20:12:28.303457" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.304354" 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-08-18T20:12:28.304032" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.304862" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.304540" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.305364" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.305054" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.305885" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8ae0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.305553" 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-08-18T20:12:28.299287" elapsed="0.006694"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.306500" 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-08-18T20:12:28.306125" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.306935" level="INFO">&lt;?xml version="1.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-08-18T20:12:28.306677" 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-08-18T20:12:28.314687" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.314392" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.320134" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.320260" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:28.320383" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.314858" elapsed="0.005565"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.321047" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.320668" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.324093" 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-08-18T20:12:28.321351" elapsed="0.002826"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.326678" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.324274" elapsed="0.002491"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.324247" elapsed="0.002551"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.330430" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.330475" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:28.326988" elapsed="0.003513"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.332287" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.330576" elapsed="0.001766"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.330557" elapsed="0.001809"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.332402" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:28.332597" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:28.332654" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:28.314085" elapsed="0.018592"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.336775" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.333229" elapsed="0.003594"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.333211" elapsed="0.003633"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.337380" 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-08-18T20:12:28.336986" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.337928" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.337563" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.338002" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:28.338179" 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-08-18T20:12:28.332905" elapsed="0.005298"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.338355" elapsed="0.000377"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:28.313527" elapsed="0.025292"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.346448" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.346157" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.361941" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.362360" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:28.363050" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.346600" elapsed="0.016509"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.364052" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.363456" elapsed="0.000696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.369127" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:28.364490" elapsed="0.006058"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.373083" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.370648" elapsed="0.002503"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.370622" elapsed="0.002559"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.401213" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.401259" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:28.373368" elapsed="0.027914"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.403040" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.401358" elapsed="0.001737"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.401339" elapsed="0.001779"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.403152" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:28.403344" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:28.403386" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:28.345792" elapsed="0.057615"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.405575" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.403960" elapsed="0.001660"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.403942" elapsed="0.001700"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.406202" 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-08-18T20:12:28.405802" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.406734" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.406388" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.406827" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:28.407005" 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-08-18T20:12:28.403617" elapsed="0.003413"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.407184" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:28.345181" elapsed="0.062446"/>
</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-08-18T20:12:28.296009" elapsed="0.111673"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:28.289294" elapsed="0.118517"/>
</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-08-18T20:12:28.418496" 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-08-18T20:12:28.418628" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.418361" elapsed="0.000296"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:28.419233" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea2f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:28.418823" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.419681" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:28.419408" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.420134" 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-08-18T20:12:28.419869" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.420580" 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-08-18T20:12:28.420304" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.421474" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.420765" elapsed="0.000739"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.421992" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.421653" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.422533" 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-08-18T20:12:28.422218" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.423063" 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-08-18T20:12:28.422721" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.423556" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.423248" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.424073" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.423758" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.424573" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea2f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.424261" 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-08-18T20:12:28.418036" elapsed="0.006658"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.425235" 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-08-18T20:12:28.424855" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.425646" level="INFO">&lt;?xml version="1.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-08-18T20:12:28.425410" 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-08-18T20:12:28.433582" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.433283" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.439467" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.439596" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:28.439701" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.433737" elapsed="0.005989"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.440153" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.439905" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.442794" 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-08-18T20:12:28.440366" elapsed="0.002516"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.445457" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.442979" elapsed="0.002548"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.442952" elapsed="0.002606"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.449922" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.449969" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:28.445766" elapsed="0.004225"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.451793" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.450066" elapsed="0.001784"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.450047" elapsed="0.001828"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.451909" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:28.452100" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:28.452144" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:28.432884" elapsed="0.019282"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.454481" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.452703" elapsed="0.001825"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.452685" elapsed="0.001865"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.455111" 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-08-18T20:12:28.454695" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.455643" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.455296" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.455719" elapsed="0.000044"/>
</return>
<msg time="2026-08-18T20:12:28.455918" 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-08-18T20:12:28.452373" 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-08-18T20:12:28.456097" 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-08-18T20:12:28.432273" elapsed="0.024267"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.464422" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.464126" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.479513" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.479979" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:28.480628" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.464577" elapsed="0.016110"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.481697" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.481132" elapsed="0.000704"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.486674" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:28.482150" elapsed="0.006624"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.491085" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.488941" elapsed="0.002196"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.488896" elapsed="0.002263"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.520000" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.520048" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:28.491296" elapsed="0.028774"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.521864" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.520150" elapsed="0.001771"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.520131" elapsed="0.001814"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.521979" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:12:28.522177" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:28.522220" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:28.463734" 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-08-18T20:12:28.524372" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.522817" elapsed="0.001601"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.522799" elapsed="0.001641"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.525004" 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-08-18T20:12:28.524585" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.525550" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.525204" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.525627" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:28.525826" 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-08-18T20:12:28.522464" 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-08-18T20:12:28.526007" 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-08-18T20:12:28.463124" elapsed="0.063337"/>
</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-08-18T20:12:28.414805" elapsed="0.111712"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:28.408054" elapsed="0.118584"/>
</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-08-18T20:12:28.537432" 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-08-18T20:12:28.537581" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.537293" elapsed="0.000317"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:28.538188" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4c20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:28.537774" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.538640" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:28.538365" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.539103" 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-08-18T20:12:28.538837" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.539537" 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-08-18T20:12:28.539274" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.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;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-08-18T20:12:28.539708" elapsed="0.000790"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.541000" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.540651" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.541563" 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-08-18T20:12:28.541230" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.542091" 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-08-18T20:12:28.541769" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.542590" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.542280" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.543108" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.542796" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.543618" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4c20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.543299" 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-08-18T20:12:28.536941" elapsed="0.006773"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.544256" 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-08-18T20:12:28.543875" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.544675" level="INFO">&lt;?xml version="1.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-08-18T20:12:28.544438" 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-08-18T20:12:28.552540" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.552237" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.558035" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.558179" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:28.558285" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.552695" elapsed="0.005615"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.558716" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.558468" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.560916" 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-08-18T20:12:28.558953" elapsed="0.002023"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.563047" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.561046" elapsed="0.002072"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.561026" elapsed="0.002122"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.567515" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.567579" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:28.563338" elapsed="0.004272"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.570108" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.567712" elapsed="0.002474"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.567687" elapsed="0.002531"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.570265" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:12:28.570560" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:28.570603" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:28.551920" 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-08-18T20:12:28.572745" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.571174" elapsed="0.001629"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.571156" elapsed="0.001669"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.573361" 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-08-18T20:12:28.572969" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.573925" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.573560" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.573999" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:28.574175" 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-08-18T20:12:28.570850" elapsed="0.003350"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.574354" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:28.551342" elapsed="0.023473"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.582675" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.582380" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.596073" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.596541" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:28.597263" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.582845" elapsed="0.014478"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.598389" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.597798" elapsed="0.000693"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.603525" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:28.598867" elapsed="0.006819"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.608004" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.605901" elapsed="0.002157"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.605854" elapsed="0.002229"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.636479" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.636528" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:28.608221" elapsed="0.028330"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.638436" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.636637" elapsed="0.001859"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.636616" elapsed="0.001906"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.638557" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:12:28.638780" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:28.638829" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:28.582010" elapsed="0.056841"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.641008" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.639428" elapsed="0.001626"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.639405" elapsed="0.001671"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.641670" 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-08-18T20:12:28.641223" elapsed="0.000475"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.642275" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.641907" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.642351" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:28.642547" 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-08-18T20:12:28.639082" 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-08-18T20:12:28.642727" 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-08-18T20:12:28.581369" elapsed="0.061842"/>
</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-08-18T20:12:28.533723" elapsed="0.109546"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:28.526942" elapsed="0.116449"/>
</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-08-18T20:12:28.654445" 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-08-18T20:12:28.654599" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.654302" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:28.655250" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388040&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:28.654810" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.655711" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:28.655428" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.656185" 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-08-18T20:12:28.655914" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.656625" 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-08-18T20:12:28.656355" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.657604" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.656822" elapsed="0.000813"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.658180" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.657818" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.658770" 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-08-18T20:12:28.658431" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.659300" 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-08-18T20:12:28.658974" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.659824" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.659489" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.660499" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.660023" elapsed="0.000523"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.661054" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388040&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.660698" 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-08-18T20:12:28.653967" elapsed="0.007186"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.661691" 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-08-18T20:12:28.661301" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.662192" level="INFO">&lt;?xml version="1.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-08-18T20:12:28.661900" 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-08-18T20:12:28.670167" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.669785" elapsed="0.000411"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.675624" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.675803" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:28.675913" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.670329" elapsed="0.005609"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.676382" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.676129" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.678554" 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-08-18T20:12:28.676579" elapsed="0.002038"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.680400" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.678687" elapsed="0.001768"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.678667" elapsed="0.001809"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.684039" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.684102" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:28.680616" 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-08-18T20:12:28.686768" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.684235" elapsed="0.002589"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.684209" elapsed="0.002638"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.686881" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:28.687070" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:28.687113" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:28.669457" elapsed="0.017677"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.689229" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.687667" elapsed="0.001607"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.687650" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.689849" 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-08-18T20:12:28.689439" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.690393" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.690031" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.690467" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:28.690641" 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-08-18T20:12:28.687338" elapsed="0.003328"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.690833" 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-08-18T20:12:28.668895" elapsed="0.022386"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.698917" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.698608" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.712720" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.713184" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:28.713843" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.699071" elapsed="0.014833"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.714882" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.714285" elapsed="0.000697"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.719898" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:28.715335" elapsed="0.006462"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.723596" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.721872" elapsed="0.001773"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.721852" elapsed="0.001815"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.751498" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.751545" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:28.723821" elapsed="0.027747"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.753345" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.751645" elapsed="0.001755"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.751627" elapsed="0.001798"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.753459" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:28.753654" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:28.753697" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:28.698241" elapsed="0.055479"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.755885" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.754291" elapsed="0.001640"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.754273" elapsed="0.001679"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.756501" 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-08-18T20:12:28.756100" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.757055" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.756686" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.757131" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:28.757308" 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-08-18T20:12:28.753959" elapsed="0.003374"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.757485" 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-08-18T20:12:28.697604" elapsed="0.060349"/>
</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-08-18T20:12:28.650694" elapsed="0.107314"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:28.643706" elapsed="0.114420"/>
</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-08-18T20:12:28.768959" 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-08-18T20:12:28.769103" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.768817" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:28.769704" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912430&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:28.769278" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.770176" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:28.769897" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.770643" 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-08-18T20:12:28.770350" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.771100" 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-08-18T20:12:28.770833" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.772051" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.771271" elapsed="0.000811"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.772558" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.772236" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.773127" 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-08-18T20:12:28.772805" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.773815" 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-08-18T20:12:28.773316" elapsed="0.000543"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.774322" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.774011" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.774898" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.774516" elapsed="0.000428"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.775410" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912430&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.775093" 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-08-18T20:12:28.768476" elapsed="0.007031"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.776054" 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-08-18T20:12:28.775654" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.776471" level="INFO">&lt;?xml version="1.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-08-18T20:12:28.776232" 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-08-18T20:12:28.784173" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.783862" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.789907" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.790069" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:28.790179" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.784327" elapsed="0.005877"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.790664" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.790407" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.792862" 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-08-18T20:12:28.790892" 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-08-18T20:12:28.794820" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.792998" elapsed="0.001876"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.792978" elapsed="0.001918"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.799122" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.799186" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:28.795034" elapsed="0.004184"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.801920" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.799321" elapsed="0.002679"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.799295" elapsed="0.002738"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.802080" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:12:28.802354" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:28.802414" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:28.783529" elapsed="0.018916"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.804928" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.803244" elapsed="0.001730"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.803219" elapsed="0.001777"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.805541" 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-08-18T20:12:28.805140" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.806095" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.805728" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.806171" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.806348" 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-08-18T20:12:28.802740" elapsed="0.003633"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.806531" 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-08-18T20:12:28.782958" elapsed="0.024055"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.814693" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.814401" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.829833" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.830269" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:28.830960" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.814912" elapsed="0.016113"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.832023" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.831383" elapsed="0.000742"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.837037" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:28.832437" elapsed="0.006722"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.841179" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.839327" elapsed="0.001902"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.839279" elapsed="0.001972"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.868691" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.868738" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:28.841388" elapsed="0.027389"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.870535" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.868856" elapsed="0.001735"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.868837" elapsed="0.001778"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.870649" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.870863" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:28.870907" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:28.814032" elapsed="0.056897"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.873067" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.871500" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.871482" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.873677" 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-08-18T20:12:28.873280" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.874228" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.873878" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.874304" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.874480" 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-08-18T20:12:28.871167" elapsed="0.003339"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.874659" 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-08-18T20:12:28.813408" elapsed="0.061717"/>
</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-08-18T20:12:28.765243" elapsed="0.109955"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:28.758407" elapsed="0.116911"/>
</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-08-18T20:12:28.886143" 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-08-18T20:12:28.886288" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.886002" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:28.886912" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d030&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:28.886466" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.887396" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:28.887089" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.887854" 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-08-18T20:12:28.887569" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:28.888290" 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-08-18T20:12:28.888026" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.889241" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.888467" elapsed="0.000804"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.889761" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.889423" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.890313" 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-08-18T20:12:28.889992" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.891002" 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-08-18T20:12:28.890502" elapsed="0.000543"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.891527" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:28.891197" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.892059" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:28.891723" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.892571" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d030&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:28.892254" 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-08-18T20:12:28.885663" elapsed="0.007005"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.893208" 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-08-18T20:12:28.892830" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.893622" level="INFO">&lt;?xml version="1.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-08-18T20:12:28.893385" 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-08-18T20:12:28.901254" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.900959" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.907420" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.907554" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:28.907662" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.901405" elapsed="0.006281"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.908148" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.907896" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.910274" 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-08-18T20:12:28.908330" elapsed="0.002005"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.912289" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.910408" elapsed="0.001957"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.910386" elapsed="0.002012"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.917794" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.917877" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:28.912658" elapsed="0.005255"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.921039" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.918039" elapsed="0.003065"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.918010" elapsed="0.003118"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.921162" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:12:28.921362" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:28.921405" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:28.900634" elapsed="0.020793"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.923576" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.921998" elapsed="0.001624"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.921980" elapsed="0.001663"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.924207" 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-08-18T20:12:28.923802" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.924733" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.924391" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.924825" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.925002" 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-08-18T20:12:28.921645" elapsed="0.003381"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.925179" 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-08-18T20:12:28.900089" elapsed="0.025541"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.933414" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:28.933118" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:28.947466" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:28.947949" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:28.948592" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:28.933566" elapsed="0.015085"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.949593" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:28.949035" elapsed="0.000658"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.954543" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:28.950037" elapsed="0.006490"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.958316" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.956600" elapsed="0.001769"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.956581" elapsed="0.001810"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:28.985364" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:28.985411" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:28.958527" elapsed="0.026907"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:28.987201" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:28.985511" elapsed="0.001746"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.985492" elapsed="0.001789"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:28.987315" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.987508" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:28.987551" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:28.932731" elapsed="0.054842"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:28.989720" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:28.988167" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:28.988149" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.990344" 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-08-18T20:12:28.989947" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:28.990891" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:28.990527" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:28.990965" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:28.991140" 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-08-18T20:12:28.987837" elapsed="0.003328"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:28.991315" 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-08-18T20:12:28.932125" elapsed="0.059657"/>
</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-08-18T20:12:28.882445" elapsed="0.109404"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:28.875608" elapsed="0.116366"/>
</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-08-18T20:12:29.002651" 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-08-18T20:12:29.002815" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.002509" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:29.003401" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d09a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:29.002993" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.003871" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:29.003575" elapsed="0.000343"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.004336" 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-08-18T20:12:29.004067" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.004794" 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-08-18T20:12:29.004511" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.005639" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.004967" elapsed="0.000702"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.006160" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.005837" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.006704" 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-08-18T20:12:29.006389" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.007232" 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-08-18T20:12:29.006912" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.007723" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.007418" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.008279" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.007967" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.008953" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d09a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.008468" 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-08-18T20:12:29.002185" elapsed="0.006867"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.009578" 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-08-18T20:12:29.009199" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.010015" level="INFO">&lt;?xml version="1.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-08-18T20:12:29.009774" 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-08-18T20:12:29.017722" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.017427" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.022846" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.022976" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:29.023082" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.017891" elapsed="0.005215"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.023514" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.023261" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.025659" 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-08-18T20:12:29.023694" elapsed="0.002075"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.027549" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.025841" elapsed="0.001757"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.025822" elapsed="0.001797"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.031720" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.031810" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:29.027769" elapsed="0.004074"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.034292" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.031946" elapsed="0.002423"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.031920" elapsed="0.002481"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.034448" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:29.034715" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:29.034800" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:29.017121" elapsed="0.017712"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.037630" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.035579" elapsed="0.002097"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.035555" elapsed="0.002142"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.038251" 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-08-18T20:12:29.037857" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.038797" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.038434" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.038873" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.039048" 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-08-18T20:12:29.035122" elapsed="0.003951"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.039226" 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-08-18T20:12:29.016427" elapsed="0.023241"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.047364" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.047070" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.060336" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.060599" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:29.061029" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.047516" elapsed="0.013550"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.061633" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.061287" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.064814" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:29.061912" elapsed="0.004199"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.068664" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.066211" elapsed="0.002520"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.066184" elapsed="0.002597"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.096902" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.096948" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:29.068972" elapsed="0.027999"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.098715" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.097047" elapsed="0.001741"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.097029" elapsed="0.001785"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.098848" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.099042" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:29.099085" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:29.046684" elapsed="0.052423"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.101235" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.099639" elapsed="0.001641"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.099621" elapsed="0.001681"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.101862" 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-08-18T20:12:29.101444" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.102397" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.102048" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.102472" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.102648" 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-08-18T20:12:29.099316" elapsed="0.003357"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.102842" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:29.046079" elapsed="0.057207"/>
</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-08-18T20:12:28.998987" elapsed="0.104355"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:28.992158" elapsed="0.111300"/>
</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-08-18T20:12:29.114262" 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-08-18T20:12:29.114393" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.114127" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:29.115000" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f20c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:29.114569" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.115449" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:29.115175" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.115902" 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-08-18T20:12:29.115619" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.116337" 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-08-18T20:12:29.116074" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.117312" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.116507" elapsed="0.000835"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.117836" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.117498" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.118388" 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-08-18T20:12:29.118070" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.118915" 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-08-18T20:12:29.118579" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.119412" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.119103" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.119931" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.119603" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.120607" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f20c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.120120" elapsed="0.000532"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:29.113778" elapsed="0.006930"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.121250" 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-08-18T20:12:29.120869" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.121666" level="INFO">&lt;?xml version="1.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-08-18T20:12:29.121428" 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-08-18T20:12:29.129303" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.129008" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.135152" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.135284" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:29.135392" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.129458" elapsed="0.005958"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.135880" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.135604" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.138331" 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-08-18T20:12:29.136065" elapsed="0.002351"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.140944" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.138513" elapsed="0.002500"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.138487" elapsed="0.002556"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.145317" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.145380" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:29.141231" elapsed="0.004180"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.147299" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.145484" elapsed="0.001870"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.145466" elapsed="0.001911"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.147410" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:29.147599" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:29.147641" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:29.128683" elapsed="0.018980"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.149789" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.148212" elapsed="0.001624"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.148194" elapsed="0.001664"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.150412" 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-08-18T20:12:29.150002" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.150960" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.150598" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.151035" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.151211" 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-08-18T20:12:29.147886" elapsed="0.003350"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.151394" 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-08-18T20:12:29.128116" elapsed="0.023736"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.159501" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.159209" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.171780" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.172211" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:29.172962" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.159651" elapsed="0.013373"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.174007" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.173381" elapsed="0.000726"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.179033" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:29.174416" elapsed="0.006755"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.183064" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.181334" elapsed="0.001778"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.181290" elapsed="0.001844"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.212943" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.212990" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:29.183269" elapsed="0.029744"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.214810" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.213112" elapsed="0.001756"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.213072" elapsed="0.001820"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.214925" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.215118" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:29.215161" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:29.158842" elapsed="0.056341"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.217297" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.215719" elapsed="0.001623"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.215701" elapsed="0.001662"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.217924" 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-08-18T20:12:29.217511" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.218453" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.218108" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.218527" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.218702" 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-08-18T20:12:29.215393" elapsed="0.003333"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.218896" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:29.158224" elapsed="0.061115"/>
</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-08-18T20:12:29.110517" elapsed="0.108878"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:29.103706" elapsed="0.115801"/>
</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-08-18T20:12:29.230274" 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-08-18T20:12:29.230407" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:29.230141" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:29.231001" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc180&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:29.230585" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.231450" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:29.231177" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.231905" 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-08-18T20:12:29.231622" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.232342" 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-08-18T20:12:29.232077" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.233239" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:29.232513" elapsed="0.000757"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.233748" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.233422" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.234322" 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-08-18T20:12:29.234004" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.234847" 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-08-18T20:12:29.234510" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.235342" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:29.235036" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.235862" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:29.235532" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.236521" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc180&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.236053" elapsed="0.000510"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:29.229819" elapsed="0.006799"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.237163" 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-08-18T20:12:29.236781" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.237611" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:29.237369" 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-08-18T20:12:29.245253" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.244961" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.257648" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.257803" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:29.257909" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.245437" elapsed="0.012497"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.258339" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.258090" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.263113" 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-08-18T20:12:29.258679" elapsed="0.004632"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.266958" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.263492" elapsed="0.003516"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.263443" elapsed="0.003587"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.269901" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.269946" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:29.267164" elapsed="0.002804"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.271702" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.270040" elapsed="0.001732"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.270022" elapsed="0.001774"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.271831" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.272021" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:29.272064" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:29.244634" elapsed="0.027452"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.274351" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.272612" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.272595" elapsed="0.001828"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.274993" 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-08-18T20:12:29.274566" elapsed="0.000454"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.275525" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.275178" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.275600" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.275795" 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-08-18T20:12:29.272292" 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-08-18T20:12:29.275974" 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-08-18T20:12:29.244089" elapsed="0.032329"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.284097" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.283804" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.300688" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.300995" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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-08-18T20:12:29.301414" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.284291" elapsed="0.017162"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.302136" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.301743" elapsed="0.000458"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.307395" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;6&lt;/second&gt;&lt;nanosecond&gt;466000000&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;5&lt;/second&gt;&lt;nanosecond&gt;197000000&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;6&lt;/second&gt;&lt;nanosecond&gt;502000000&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;6&lt;/second&gt;&lt;nanosecond&gt;536000000&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;6&lt;/second&gt;&lt;nanosecond&gt;573000000&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;6&lt;/second&gt;&lt;nanosecond&gt;606000000&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;5&lt;/second&gt;&lt;nanosecond&gt;225000000&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;5&lt;/second&gt;&lt;nanosecond&gt;266000000&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;6&lt;/second&gt;&lt;nanosecond&gt;639000000&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;5&lt;/second&gt;&lt;nanosecond&gt;297000000&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;6&lt;/second&gt;&lt;nanosecond&gt;674000000&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;5&lt;/second&gt;&lt;nanosecond&gt;330000000&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;6&lt;/second&gt;&lt;nanosecond&gt;709000000&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;5&lt;/second&gt;&lt;nanosecond&gt;367000000&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;6&lt;/second&gt;&lt;nanosecond&gt;741000000&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;5&lt;/second&gt;&lt;nanosecond&gt;404000000&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;6&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;drop-action/&gt;&lt;/action&gt;&lt;/apply-actions&gt;&lt;/instruction&gt;&lt;/instructions&gt;&lt;hard-timeout&gt;0&lt;/hard-timeout&gt;&lt;flow-statistics xmlns="urn:opendaylight:flow:statistics"&gt;&lt;packet-count&gt;0&lt;/packet-count&gt;&lt;byte-count&gt;0&lt;/byte-count&gt;&lt;duration&gt;&lt;second&gt;6&lt;/second&gt;&lt;nanosecond&gt;807000000&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;5&lt;/second&gt;&lt;nanosecond&gt;863000000&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;6&lt;/second&gt;&lt;nanosecond&gt;149000000&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;5&lt;/second&gt;&lt;nanosecond&gt;65000000&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;6&lt;/second&gt;&lt;nanosecond&gt;184000000&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;5&lt;/second&gt;&lt;nanosecond&gt;98000000&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;6&lt;/second&gt;&lt;nanosecond&gt;219000000&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;5&lt;/second&gt;&lt;nanosecond&gt;131000000&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;6&lt;/second&gt;&lt;nanosecond&gt;254000000&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;6&lt;/second&gt;&lt;nanosecond&gt;290000000&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;6&lt;/second&gt;&lt;nanosecond&gt;324000000&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;6&lt;/second&gt;&lt;nanosecond&gt;360000000&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;5&lt;/second&gt;&lt;nanosecond&gt;163000000&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;6&lt;/second&gt;&lt;nanosecond&gt;396000000&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;6&lt;/second&gt;&lt;nanosecond&gt;428000000&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;5&lt;/second&gt;&lt;nanosecond&gt;507000000&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;5&lt;/second&gt;&lt;nanosecond&gt;543000000&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;6&lt;/second&gt;&lt;nanosecond&gt;13000000&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;5&lt;/second&gt;&lt;nanosecond&gt;579000000&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;4&lt;/second&gt;&lt;nanosecond&gt;862000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;5&lt;/second&gt;&lt;nanosecond&gt;612000000&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;5&lt;/second&gt;&lt;nanosecond&gt;648000000&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;5&lt;/second&gt;&lt;nanosecond&gt;682000000&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;5&lt;/second&gt;&lt;nanosecond&gt;719000000&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;4&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;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;5&lt;/second&gt;&lt;nanosecond&gt;756000000&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;4&lt;/second&gt;&lt;nanosecond&gt;928000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;48000000&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;5&lt;/second&gt;&lt;nanosecond&gt;792000000&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;4&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;65000000&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;5&lt;/second&gt;&lt;nanosecond&gt;827000000&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;4&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;6&lt;/second&gt;&lt;nanosecond&gt;116000000&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;5&lt;/second&gt;&lt;nanosecond&gt;32000000&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;5&lt;/second&gt;&lt;nanosecond&gt;901000000&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;5&lt;/second&gt;&lt;nanosecond&gt;937000000&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;5&lt;/second&gt;&lt;nanosecond&gt;975000000&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;5&lt;/second&gt;&lt;nanosecond&gt;474000000&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;5&lt;/second&gt;&lt;nanosecond&gt;439000000&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-08-18T20:12:29.302443" 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-08-18T20:12:29.311931" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.309739" elapsed="0.002242"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.309689" elapsed="0.002315"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.342151" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.342199" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:29.312143" elapsed="0.030080"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.344005" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.342302" elapsed="0.001760"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.342282" elapsed="0.001805"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.344122" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:29.344324" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:29.344368" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:29.283420" elapsed="0.061029"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.346624" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.345039" elapsed="0.001630"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.345020" elapsed="0.001670"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.347254" 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-08-18T20:12:29.346851" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.347800" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.347437" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.347876" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.348051" 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-08-18T20:12:29.344680" elapsed="0.003396"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.348229" 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-08-18T20:12:29.282820" elapsed="0.065855"/>
</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-08-18T20:12:29.226576" elapsed="0.122154"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:29.219774" elapsed="0.129091"/>
</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-08-18T20:12:29.359665" 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-08-18T20:12:29.359824" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.359526" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:29.360408" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857ce8e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:29.360000" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.360879" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:29.360583" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.361314" 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-08-18T20:12:29.361050" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.361765" 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-08-18T20:12:29.361487" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.362630" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.361949" elapsed="0.000711"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.363148" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.362825" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.363698" 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-08-18T20:12:29.363380" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.364227" 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-08-18T20:12:29.363906" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.364719" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.364412" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.365241" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.364927" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.365746" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857ce8e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.365431" 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-08-18T20:12:29.359201" elapsed="0.006655"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.366401" 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-08-18T20:12:29.366026" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.366830" level="INFO">&lt;?xml version="1.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-08-18T20:12:29.366577" 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-08-18T20:12:29.374626" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.374329" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.380798" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.380932" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:29.381037" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.374800" elapsed="0.006262"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.381472" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.381218" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.384207" 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-08-18T20:12:29.381655" elapsed="0.002637"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.386817" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.384388" elapsed="0.002497"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.384362" elapsed="0.002554"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.390992" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.391038" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:29.387104" elapsed="0.003957"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.392806" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.391133" elapsed="0.001728"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.391115" elapsed="0.001770"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.392918" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.393110" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:29.393153" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:29.373990" elapsed="0.019184"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.395431" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.393704" elapsed="0.001772"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.393686" elapsed="0.001812"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.396053" 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-08-18T20:12:29.395640" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.396578" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.396234" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.396652" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.396846" 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-08-18T20:12:29.393380" 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-08-18T20:12:29.397022" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:29.373427" elapsed="0.024036"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.405145" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.404852" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.421395" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.421846" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:29.422569" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.405295" elapsed="0.017335"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.423608" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.423015" elapsed="0.000692"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.428578" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:29.424056" elapsed="0.006629"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.432868" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.430874" elapsed="0.002043"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.430831" elapsed="0.002108"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.457435" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.457482" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:29.433072" elapsed="0.024433"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.459278" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.457582" elapsed="0.001752"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.457563" elapsed="0.001795"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.459391" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.459583" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:29.459626" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:29.404470" elapsed="0.055178"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.461745" elapsed="0.000040"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.460201" elapsed="0.001615"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.460183" elapsed="0.001655"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.462391" 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-08-18T20:12:29.461991" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.462968" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.462602" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.463044" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:29.463221" 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-08-18T20:12:29.459875" elapsed="0.003371"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.463398" 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-08-18T20:12:29.403871" elapsed="0.059990"/>
</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-08-18T20:12:29.355992" elapsed="0.107925"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:29.349146" elapsed="0.114884"/>
</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-08-18T20:12:29.474793" 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-08-18T20:12:29.474924" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.474645" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:29.475501" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838db0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:29.475101" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.475968" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:29.475675" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.476408" 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-08-18T20:12:29.476140" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.476860" 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-08-18T20:12:29.476579" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.477705" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.477030" elapsed="0.000706"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.478225" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.477903" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.478818" 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-08-18T20:12:29.478449" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.479329" 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-08-18T20:12:29.479008" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.479844" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.479520" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.480348" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.480035" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.480868" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838db0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.480538" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:29.474307" elapsed="0.006658"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.481484" 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-08-18T20:12:29.481109" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.481917" level="INFO">&lt;?xml version="1.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-08-18T20:12:29.481660" 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-08-18T20:12:29.541964" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.541584" elapsed="0.000412"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.547350" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.547523" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:29.547643" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.542136" elapsed="0.005533"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.548109" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.547854" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.550322" 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-08-18T20:12:29.548293" 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-08-18T20:12:29.552587" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.550461" elapsed="0.002198"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.550437" elapsed="0.002254"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.557171" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.557234" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:29.552901" elapsed="0.004364"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.559644" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.557365" elapsed="0.002334"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.557340" elapsed="0.002383"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.559772" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:12:29.559975" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:29.560017" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:29.541251" elapsed="0.018788"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.562277" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.560573" elapsed="0.001750"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.560556" elapsed="0.001789"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.562912" 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-08-18T20:12:29.562490" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.563454" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.563107" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.563527" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:29.563703" 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-08-18T20:12:29.560251" elapsed="0.003477"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.563900" 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-08-18T20:12:29.540526" elapsed="0.023823"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.572030" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.571714" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.586398" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.586851" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:29.587515" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.572182" elapsed="0.015391"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.588510" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.587950" elapsed="0.000659"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.592679" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:29.588952" elapsed="0.005021"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.596470" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.594072" elapsed="0.002467"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.594045" elapsed="0.002524"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.620588" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.620634" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:29.596777" elapsed="0.023879"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.622415" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.620733" elapsed="0.001738"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.620715" elapsed="0.001780"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.622529" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:29.622720" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:29.622779" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:29.571341" elapsed="0.051462"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.624925" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.623372" elapsed="0.001597"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.623349" elapsed="0.001642"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.625526" 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-08-18T20:12:29.625133" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.626075" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.625710" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.626150" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.626326" 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-08-18T20:12:29.623012" elapsed="0.003339"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.626502" 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-08-18T20:12:29.570714" elapsed="0.056268"/>
</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-08-18T20:12:29.471111" elapsed="0.155926"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:29.464274" elapsed="0.162889"/>
</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-08-18T20:12:29.637991" 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-08-18T20:12:29.638144" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.637847" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:29.638731" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc180&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:29.638321" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.639228" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:29.638933" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.639717" 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-08-18T20:12:29.639439" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.640185" 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-08-18T20:12:29.639909" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.641053" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.640355" elapsed="0.000728"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.641568" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.641237" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.642140" 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-08-18T20:12:29.641821" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.642649" 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-08-18T20:12:29.642329" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.643160" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.642853" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.643688" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.643350" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.644217" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc180&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.643901" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:29.637499" elapsed="0.006813"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.644857" 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-08-18T20:12:29.644462" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.645272" level="INFO">&lt;?xml version="1.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-08-18T20:12:29.645035" 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-08-18T20:12:29.653110" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.652817" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.659657" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.659807" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:29.659914" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.653262" elapsed="0.006677"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.660346" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.660097" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.662523" 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-08-18T20:12:29.660530" 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-08-18T20:12:29.664436" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.662657" elapsed="0.001848"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.662638" elapsed="0.001897"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.668847" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.668911" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:29.664722" elapsed="0.004220"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.671369" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.669042" elapsed="0.002402"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.669017" elapsed="0.002460"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.671554" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:29.671849" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:29.671909" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:29.652491" elapsed="0.019448"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.676015" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.672589" elapsed="0.003472"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.672572" elapsed="0.003510"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.676619" 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-08-18T20:12:29.676224" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.677163" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.676817" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.677237" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.677413" 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-08-18T20:12:29.672224" elapsed="0.005213"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.677586" 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-08-18T20:12:29.651933" elapsed="0.026109"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.685620" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.685330" elapsed="0.000316"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.701448" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.701899" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:29.702538" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.685787" elapsed="0.016809"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.703532" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.702977" elapsed="0.000653"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.708524" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:29.704009" elapsed="0.005814"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.712317" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.709922" elapsed="0.002462"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.709895" elapsed="0.002519"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.736984" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.737031" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:29.712599" elapsed="0.024455"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.738913" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.737133" elapsed="0.001839"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.737113" elapsed="0.001885"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.739033" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.739235" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:29.739281" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:29.684965" elapsed="0.054338"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.741509" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.739889" elapsed="0.001667"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.739845" elapsed="0.001738"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.742169" 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-08-18T20:12:29.741731" elapsed="0.000465"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.742767" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.742375" elapsed="0.000421"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.742847" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:29.743033" 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-08-18T20:12:29.739515" 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-08-18T20:12:29.743226" 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-08-18T20:12:29.684350" elapsed="0.059342"/>
</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-08-18T20:12:29.634297" elapsed="0.109468"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:29.627502" elapsed="0.116397"/>
</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-08-18T20:12:29.754924" 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-08-18T20:12:29.755058" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.754780" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:29.755719" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583aa20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:29.755243" elapsed="0.000523"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.756240" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:29.755919" elapsed="0.000350"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.756689" 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-08-18T20:12:29.756419" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.757163" 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-08-18T20:12:29.756881" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.758057" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.757346" elapsed="0.000742"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.758578" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.758251" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.759157" 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-08-18T20:12:29.758828" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.759692" 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-08-18T20:12:29.759360" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.760279" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:29.759903" elapsed="0.000424"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.760836" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:29.760479" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.761373" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583aa20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.761040" 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-08-18T20:12:29.754427" elapsed="0.007050"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.762051" 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-08-18T20:12:29.761630" elapsed="0.000453"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.762500" level="INFO">&lt;?xml version="1.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-08-18T20:12:29.762240" 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-08-18T20:12:29.770472" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.770161" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.776482" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.776609" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:29.776714" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.770626" elapsed="0.006113"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.777172" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.776921" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.779356" 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-08-18T20:12:29.777355" elapsed="0.002061"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.781603" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.779486" elapsed="0.002185"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.779467" elapsed="0.002234"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.786015" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.786079" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:29.781911" elapsed="0.004200"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.788607" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.786211" elapsed="0.002450"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.786186" elapsed="0.002499"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.788718" elapsed="0.000046"/>
</return>
<msg time="2026-08-18T20:12:29.788930" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:29.788973" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:29.769850" elapsed="0.019145"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.791109" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.789526" elapsed="0.001628"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.789509" elapsed="0.001666"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.791710" 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-08-18T20:12:29.791319" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.792277" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.791913" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.792352" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:29.792533" 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-08-18T20:12:29.789199" elapsed="0.003358"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.792710" 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-08-18T20:12:29.769280" elapsed="0.023891"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.801020" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.800707" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.816560" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.817011" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:29.817659" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.801172" elapsed="0.016546"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.818659" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.818104" elapsed="0.000688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.823623" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:29.819106" elapsed="0.006548"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.827445" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.825725" elapsed="0.001768"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.825706" elapsed="0.001808"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.851501" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.851548" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:29.827649" elapsed="0.023922"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.853327" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.851647" elapsed="0.001735"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.851628" elapsed="0.001778"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.853439" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.853631" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:29.853674" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:29.800339" elapsed="0.053357"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.855906" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.854248" elapsed="0.001703"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.854230" elapsed="0.001743"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.856544" 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-08-18T20:12:29.856116" elapsed="0.000457"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.857124" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.856732" elapsed="0.000417"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.857198" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:29.857375" 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-08-18T20:12:29.853925" elapsed="0.003474"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.857551" 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-08-18T20:12:29.799708" elapsed="0.058304"/>
</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-08-18T20:12:29.751085" elapsed="0.106982"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:29.744155" elapsed="0.114021"/>
</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-08-18T20:12:29.868900" 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-08-18T20:12:29.869028" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:29.868763" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:29.869610" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd620&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:29.869203" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.870076" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:29.869802" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.870508" 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-08-18T20:12:29.870247" elapsed="0.000286"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.870960" 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-08-18T20:12:29.870678" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.871870" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:29.871129" elapsed="0.000771"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.872373" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.872052" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.872970" 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-08-18T20:12:29.872630" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.873479" 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-08-18T20:12:29.873160" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.873992" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:29.873666" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.874497" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:29.874182" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.875017" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd620&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.874685" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:29.868411" elapsed="0.006701"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.875629" 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-08-18T20:12:29.875254" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.876060" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:29.875821" 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-08-18T20:12:29.883813" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.883502" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.890684" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.890835" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:29.890942" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.883966" elapsed="0.007000"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.891423" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.891159" elapsed="0.000336"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.894452" 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-08-18T20:12:29.891709" elapsed="0.002829"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.897048" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.894634" elapsed="0.002482"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.894608" elapsed="0.002538"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.901448" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.901526" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:29.897333" elapsed="0.004226"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.903317" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.901639" elapsed="0.001733"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.901621" elapsed="0.001777"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.903434" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:29.903623" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:29.903665" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:29.883196" elapsed="0.020491"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.905956" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.904231" elapsed="0.001770"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.904214" elapsed="0.001809"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.906564" 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-08-18T20:12:29.906165" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.907111" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.906763" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.907187" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.907361" 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-08-18T20:12:29.903909" elapsed="0.003477"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:29.907535" 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-08-18T20:12:29.882640" elapsed="0.025351"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.915614" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.915321" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.926192" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.926610" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:29.927305" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.915784" elapsed="0.011580"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.928313" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.927716" elapsed="0.000697"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.933327" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:29.928725" elapsed="0.005684"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.936204" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.934485" elapsed="0.001769"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.934466" elapsed="0.001810"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.959728" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:29.959792" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:29.936411" elapsed="0.023405"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:29.961675" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:29.959895" elapsed="0.001836"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.959876" elapsed="0.001895"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:29.961807" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:29.962000" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:29.962043" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:29.914950" elapsed="0.047115"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:29.964306" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:29.962603" elapsed="0.001749"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:29.962585" elapsed="0.001788"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.964935" 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-08-18T20:12:29.964519" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.965510" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:29.965160" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:29.965586" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:29.965786" 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-08-18T20:12:29.962276" 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-08-18T20:12:29.965970" elapsed="0.000381"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:29.914337" elapsed="0.052076"/>
</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-08-18T20:12:29.865239" elapsed="0.101235"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:29.858463" elapsed="0.108122"/>
</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-08-18T20:12:29.977324" 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-08-18T20:12:29.977456" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:29.977189" elapsed="0.000296"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:29.978063" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1210&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:29.977634" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.978517" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:29.978242" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.978973" 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-08-18T20:12:29.978690" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:29.979411" 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-08-18T20:12:29.979146" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:29.980330" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:29.979587" elapsed="0.000773"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.980853" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.980514" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.981427" 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-08-18T20:12:29.981106" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.981956" 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-08-18T20:12:29.981617" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.982450" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:29.982144" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.982970" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:29.982639" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.983472" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1210&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:29.983160" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:29.976853" elapsed="0.006713"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.984106" 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-08-18T20:12:29.983711" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.984678" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:29.984283" elapsed="0.000463"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.992338" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:29.992045" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:29.997774" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:29.997907" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:29.998014" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:29.992492" elapsed="0.005547"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:29.998482" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:29.998227" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.000616" 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-08-18T20:12:29.998664" elapsed="0.002013"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.002522" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.000761" elapsed="0.001834"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.000727" elapsed="0.001900"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.006977" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.007041" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:30.002838" elapsed="0.004236"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.009593" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.007177" elapsed="0.002497"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.007151" elapsed="0.002556"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.009778" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:12:30.010053" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:30.010115" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:29.991719" elapsed="0.018428"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.012601" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.010860" elapsed="0.001789"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.010841" elapsed="0.001831"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.013262" 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-08-18T20:12:30.012835" elapsed="0.000461"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.013843" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.013468" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.013919" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:30.014099" 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-08-18T20:12:30.010476" elapsed="0.003647"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.014288" 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-08-18T20:12:29.991170" elapsed="0.023569"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.022677" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.022378" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.036986" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.037258" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:30.037705" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.022856" elapsed="0.014888"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.038370" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.037998" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.041564" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:30.038680" elapsed="0.004232"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.045524" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.043019" elapsed="0.002574"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.042990" elapsed="0.002634"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.071410" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.071456" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:30.045837" elapsed="0.025642"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.073320" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.071557" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.071538" elapsed="0.001863"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.073435" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.073641" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:30.073684" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:30.021985" elapsed="0.051721"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.075824" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.074262" elapsed="0.001607"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.074244" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.076435" 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-08-18T20:12:30.076035" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.076983" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.076620" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.077058" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.077235" 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-08-18T20:12:30.073935" elapsed="0.003325"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.077412" elapsed="0.000460"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:30.021330" elapsed="0.056605"/>
</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-08-18T20:12:29.973639" elapsed="0.104351"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:29.966843" elapsed="0.111259"/>
</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-08-18T20:12:30.088840" 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-08-18T20:12:30.088974" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:30.088683" elapsed="0.000320"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:30.089560" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912520&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:30.089149" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.090038" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:30.089746" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.090474" 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-08-18T20:12:30.090210" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.090923" 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-08-18T20:12:30.090643" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.091804" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:30.091092" elapsed="0.000743"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.092307" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.091986" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.092870" 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-08-18T20:12:30.092536" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.093379" 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-08-18T20:12:30.093061" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.093918" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:30.093566" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.094423" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:30.094110" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.094941" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912520&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.094611" 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-08-18T20:12:30.088359" elapsed="0.006677"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.095553" 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-08-18T20:12:30.095178" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.095980" level="INFO">&lt;?xml version="1.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-08-18T20:12:30.095726" 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-08-18T20:12:30.103745" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.103450" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.110050" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.110182" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:30.110289" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.103911" elapsed="0.006403"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.110911" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.110519" elapsed="0.000455"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.114025" 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-08-18T20:12:30.111212" elapsed="0.002897"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.116665" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.114207" elapsed="0.002525"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.114180" elapsed="0.002605"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.120414" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.120459" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:30.116974" elapsed="0.003507"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.122247" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.120554" elapsed="0.001749"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.120536" elapsed="0.001790"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.122360" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:30.122550" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:30.122593" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:30.103142" 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-08-18T20:12:30.124874" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.123162" elapsed="0.001756"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.123145" elapsed="0.001794"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.125474" 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-08-18T20:12:30.125081" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.126051" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.125656" elapsed="0.000421"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.126126" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.126303" 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-08-18T20:12:30.122836" elapsed="0.003492"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.126479" 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-08-18T20:12:30.102581" elapsed="0.024357"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.134582" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.134289" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.147676" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.148129" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:30.148819" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.134733" elapsed="0.014148"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.149818" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.149230" elapsed="0.000712"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.154686" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:30.150257" elapsed="0.005731"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.158500" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.156088" elapsed="0.002480"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.156061" elapsed="0.002537"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.182345" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.182392" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:30.158807" elapsed="0.023607"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.184262" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.182492" elapsed="0.001825"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.182473" elapsed="0.001868"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.184376" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:30.184568" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:30.184611" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:30.133916" elapsed="0.050717"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.186788" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.185188" elapsed="0.001646"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.185171" elapsed="0.001685"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.187399" 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-08-18T20:12:30.187001" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.187979" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.187587" elapsed="0.000418"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.188055" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.188231" 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-08-18T20:12:30.184863" elapsed="0.003392"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.188408" 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-08-18T20:12:30.133272" elapsed="0.055601"/>
</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-08-18T20:12:30.085132" elapsed="0.103797"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:30.078358" elapsed="0.110687"/>
</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-08-18T20:12:30.199879" 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-08-18T20:12:30.200017" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:30.199725" elapsed="0.000320"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:30.200590" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389c10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:30.200191" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.201060" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:30.200781" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.201495" 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-08-18T20:12:30.201232" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.201949" 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-08-18T20:12:30.201666" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.202811" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:30.202121" elapsed="0.000721"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.203315" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.202994" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.203882" 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-08-18T20:12:30.203543" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.204396" 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-08-18T20:12:30.204075" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.204937" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:30.204606" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.205442" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:30.205127" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.205964" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389c10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.205632" 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-08-18T20:12:30.199402" elapsed="0.006656"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.206621" 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-08-18T20:12:30.206206" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.207070" level="INFO">&lt;?xml version="1.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-08-18T20:12:30.206831" 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-08-18T20:12:30.214864" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.214551" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.220134" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.220307" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:30.220451" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.215016" elapsed="0.005470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.221077" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.220703" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.224114" 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-08-18T20:12:30.221332" 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-08-18T20:12:30.226790" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.224336" elapsed="0.002524"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.224310" elapsed="0.002581"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.230912" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.230975" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:30.227079" elapsed="0.003927"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.233466" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.231107" elapsed="0.002437"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.231082" elapsed="0.002494"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.233624" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:30.233913" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:30.233973" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:30.214225" elapsed="0.019780"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.236628" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.234809" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.234782" elapsed="0.001913"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.237247" 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-08-18T20:12:30.236853" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.237799" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.237430" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.237875" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:30.238054" 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-08-18T20:12:30.234292" elapsed="0.003787"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.238232" 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-08-18T20:12:30.213661" elapsed="0.025041"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.246612" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.246298" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.258307" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.258617" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:30.259051" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.246780" elapsed="0.012309"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.259865" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.259307" elapsed="0.000660"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.264861" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:30.260279" elapsed="0.006695"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.269122" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.267137" elapsed="0.002034"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.267093" elapsed="0.002100"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.295379" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.295429" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:30.269326" elapsed="0.026126"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.297225" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.295530" elapsed="0.001751"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.295511" elapsed="0.001794"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.297339" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.297531" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:30.297575" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:30.245928" elapsed="0.051669"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.299771" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.298154" elapsed="0.001663"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.298136" elapsed="0.001703"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.300380" 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-08-18T20:12:30.299981" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.300931" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.300564" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.301007" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.301184" 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-08-18T20:12:30.297826" elapsed="0.003383"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.301363" 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-08-18T20:12:30.245302" elapsed="0.056526"/>
</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-08-18T20:12:30.196185" elapsed="0.105701"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:30.189309" elapsed="0.112691"/>
</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-08-18T20:12:30.312740" 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-08-18T20:12:30.312890" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:30.312603" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:30.313444" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7a10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:30.313066" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.313915" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:30.313621" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.314354" 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-08-18T20:12:30.314088" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.314832" 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-08-18T20:12:30.314529" elapsed="0.000330"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.315551" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:30.315009" elapsed="0.000572"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.316071" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.315730" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.316618" 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-08-18T20:12:30.316302" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.317149" 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-08-18T20:12:30.316826" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.317650" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:30.317337" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.318181" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:30.317866" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.318686" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7a10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.318371" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:30.312279" elapsed="0.006537"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.319343" 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-08-18T20:12:30.318967" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.319775" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:30.319520" 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-08-18T20:12:30.327558" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.327262" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.332827" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.332952" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:30.333055" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.327711" elapsed="0.005369"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.333534" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.333236" elapsed="0.000374"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.336565" 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-08-18T20:12:30.333835" elapsed="0.002853"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.339228" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.336812" elapsed="0.002485"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.336783" elapsed="0.002544"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.343087" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.343155" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:30.339516" elapsed="0.003672"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.345092" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.343290" elapsed="0.001857"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.343264" elapsed="0.001907"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.345205" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:30.345395" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:30.345437" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:30.326952" elapsed="0.018508"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.347580" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.346013" elapsed="0.001612"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.345995" elapsed="0.001652"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.348201" 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-08-18T20:12:30.347807" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.348736" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.348385" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.348829" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:30.349007" 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-08-18T20:12:30.345669" elapsed="0.003363"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.349183" elapsed="0.000376"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:30.326371" elapsed="0.023251"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.357486" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.357193" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.372566" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.373018" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:30.373669" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.357639" elapsed="0.016089"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.374679" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.374117" elapsed="0.000696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.378234" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:30.375174" elapsed="0.004379"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.382072" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.379654" elapsed="0.002485"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.379627" elapsed="0.002542"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.408051" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.408097" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:30.382358" elapsed="0.025761"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.409887" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.408196" elapsed="0.001746"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.408178" elapsed="0.001789"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.410001" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.410195" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:30.410238" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:30.356824" elapsed="0.053436"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.412408" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.410814" elapsed="0.001640"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.410796" elapsed="0.001680"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.413036" 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-08-18T20:12:30.412617" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.413566" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.413220" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.413641" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:30.413839" 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-08-18T20:12:30.410469" elapsed="0.003395"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.414017" elapsed="0.000381"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:30.356199" elapsed="0.058261"/>
</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-08-18T20:12:30.309067" elapsed="0.105450"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:30.302248" elapsed="0.112380"/>
</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-08-18T20:12:30.425406" 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-08-18T20:12:30.425536" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:30.425270" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:30.426120" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857cfab0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:30.425711" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.426568" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:30.426295" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.427020" 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-08-18T20:12:30.426738" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.427476" 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-08-18T20:12:30.427190" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.428284" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:30.427647" elapsed="0.000667"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.428801" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.428463" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.429347" 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-08-18T20:12:30.429029" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.429873" 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-08-18T20:12:30.429534" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.430370" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:30.430061" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.430891" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:30.430559" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.431431" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857cfab0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.431082" 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-08-18T20:12:30.424945" elapsed="0.006584"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.432069" 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-08-18T20:12:30.431671" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.432482" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:30.432245" 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-08-18T20:12:30.440334" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.440038" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.446720" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.446868" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:30.446972" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.440486" elapsed="0.006512"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.447436" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.447158" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.450133" 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-08-18T20:12:30.447632" 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-08-18T20:12:30.452852" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.450354" elapsed="0.002568"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.450327" elapsed="0.002626"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.456875" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.456922" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:30.453145" elapsed="0.003800"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.458712" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.457019" elapsed="0.001765"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.457000" elapsed="0.001808"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.458843" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.459036" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:30.459079" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:30.439711" elapsed="0.019391"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.461282" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.459656" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.459639" elapsed="0.001710"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.461902" 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-08-18T20:12:30.461491" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.462431" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.462086" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.462507" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.462683" 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-08-18T20:12:30.459309" elapsed="0.003400"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.462880" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:30.439133" elapsed="0.024190"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.471390" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.471096" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.486091" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.486500" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:30.487257" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.471567" elapsed="0.015751"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.488282" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.487690" elapsed="0.000692"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.492988" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:30.488688" elapsed="0.005580"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.496799" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.494367" elapsed="0.002501"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.494340" elapsed="0.002558"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.523255" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.523302" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:30.497084" elapsed="0.026240"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.525103" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.523401" elapsed="0.001758"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.523382" elapsed="0.001802"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.525218" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.525413" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:30.525456" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:30.470705" elapsed="0.054775"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.527602" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.526038" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.526019" elapsed="0.001649"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.528242" 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-08-18T20:12:30.527838" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.528787" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.528425" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.528863" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:30.529040" 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-08-18T20:12:30.525693" elapsed="0.003371"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.529215" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:30.470092" elapsed="0.059565"/>
</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-08-18T20:12:30.421701" elapsed="0.108012"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:30.414886" elapsed="0.114956"/>
</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-08-18T20:12:30.540572" 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-08-18T20:12:30.540702" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:30.540437" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:30.541281" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857ce340&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:30.540897" elapsed="0.000413"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.541735" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:30.541456" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.542192" 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-08-18T20:12:30.541925" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.542627" 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-08-18T20:12:30.542363" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.543394" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:30.542814" elapsed="0.000610"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.543928" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.543575" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.544477" 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-08-18T20:12:30.544159" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.545007" 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-08-18T20:12:30.544666" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.545500" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:30.545195" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.546021" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:30.545688" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.546525" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857ce340&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.546212" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:30.540114" elapsed="0.006507"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.547162" 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-08-18T20:12:30.546784" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.547572" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:30.547336" elapsed="0.000293"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.555321" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.555029" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.560478" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.560602" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:30.560705" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.555473" elapsed="0.005257"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.561154" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.560907" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.563291" 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-08-18T20:12:30.561337" elapsed="0.002042"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.565507" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.563449" elapsed="0.002127"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.563430" elapsed="0.002176"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.569536" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.569599" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:30.565815" 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-08-18T20:12:30.572110" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.569731" elapsed="0.002457"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.569706" elapsed="0.002516"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.572270" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:30.572543" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:30.572609" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:30.554705" elapsed="0.017937"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.574778" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.573201" elapsed="0.001623"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.573184" elapsed="0.001661"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.575380" 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-08-18T20:12:30.574987" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.575924" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.575561" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.576011" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:12:30.576195" 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-08-18T20:12:30.572876" elapsed="0.003359"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.576388" 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-08-18T20:12:30.554161" elapsed="0.022691"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.584689" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.584395" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.598245" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.598659" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:30.599337" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.584860" elapsed="0.014537"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.600367" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.599784" elapsed="0.000683"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.605145" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:30.600812" elapsed="0.005618"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.608967" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.606529" elapsed="0.002506"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.606503" elapsed="0.002563"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.635071" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.635116" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:30.609256" elapsed="0.025883"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.636936" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.635217" elapsed="0.001775"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.635198" elapsed="0.001818"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.637050" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.637245" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:30.637288" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:30.584018" elapsed="0.053292"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.639415" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.637868" elapsed="0.001594"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.637850" elapsed="0.001637"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.640042" 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-08-18T20:12:30.639629" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.640597" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.640227" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.640672" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.640864" 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-08-18T20:12:30.637523" elapsed="0.003367"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.641043" elapsed="0.000379"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:30.583384" elapsed="0.058101"/>
</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-08-18T20:12:30.536899" elapsed="0.104642"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:30.530088" elapsed="0.111563"/>
</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-08-18T20:12:30.652436" 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-08-18T20:12:30.652565" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:30.652273" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:30.653151" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a375b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:30.652741" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.653604" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:30.653330" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.654062" 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-08-18T20:12:30.653796" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.654499" 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-08-18T20:12:30.654234" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.655309" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:30.654671" elapsed="0.000669"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.655836" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.655497" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.656416" 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-08-18T20:12:30.656068" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.656952" 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-08-18T20:12:30.656610" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.657451" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:30.657142" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.657976" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:30.657644" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.658487" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a375b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.658168" 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-08-18T20:12:30.651950" elapsed="0.006632"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.659118" 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-08-18T20:12:30.658725" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.659530" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:30.659293" 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-08-18T20:12:30.667320" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.667028" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.674529" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.674653" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:30.674777" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.667473" elapsed="0.007331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.675210" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.674960" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.677359" 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-08-18T20:12:30.675394" elapsed="0.002076"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.680009" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.677591" elapsed="0.002486"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.677559" elapsed="0.002549"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.683987" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.684051" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:30.680296" elapsed="0.003786"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.686304" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.684183" elapsed="0.002177"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.684157" elapsed="0.002226"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.686417" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:30.686606" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:30.686649" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:30.666700" elapsed="0.019971"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.688799" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.687216" elapsed="0.001629"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.687199" elapsed="0.001667"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.689398" 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-08-18T20:12:30.689007" elapsed="0.000417"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.689942" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.689580" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.690016" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.690191" 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-08-18T20:12:30.686893" elapsed="0.003323"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.690365" 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-08-18T20:12:30.666155" elapsed="0.024667"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.698760" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.698451" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.711489" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.711941" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:30.712607" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.698917" elapsed="0.013751"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.713611" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.713049" elapsed="0.000662"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.718588" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:30.714057" elapsed="0.006647"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.723018" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.720898" elapsed="0.002168"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.720853" elapsed="0.002235"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.752251" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.752298" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:30.723223" elapsed="0.029098"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.754104" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.752399" elapsed="0.001761"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.752380" elapsed="0.001804"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.754218" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:30.754409" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:30.754452" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:30.698084" elapsed="0.056390"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.756587" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.755031" elapsed="0.001600"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.755013" elapsed="0.001640"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.757227" 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-08-18T20:12:30.756822" elapsed="0.000432"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.757771" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.757410" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.757847" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.758023" 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-08-18T20:12:30.754686" elapsed="0.003362"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.758199" elapsed="0.000379"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:30.697463" elapsed="0.061177"/>
</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-08-18T20:12:30.648734" elapsed="0.109962"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:30.641910" elapsed="0.116913"/>
</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-08-18T20:12:30.769372" 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-08-18T20:12:30.769500" 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-08-18T20:12:30.769237" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:30.770064" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3d030&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:30.769675" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.770510" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:30.770238" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.770967" 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-08-18T20:12:30.770682" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.771402" 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-08-18T20:12:30.771138" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.772080" 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-08-18T20:12:30.771572" elapsed="0.000538"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.772587" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.772260" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.773175" 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-08-18T20:12:30.772833" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.773690" 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-08-18T20:12:30.773365" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.774206" 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-08-18T20:12:30.773897" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.774709" 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-08-18T20:12:30.774397" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.775233" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3d030&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.774919" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:30.768912" elapsed="0.006416"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.775869" 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-08-18T20:12:30.775477" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.776282" 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-08-18T20:12:30.776046" elapsed="0.000290"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.784014" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.783702" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.790535" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.790655" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:30.790775" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.784166" elapsed="0.006637"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.791204" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.790958" elapsed="0.000290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.793348" 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-08-18T20:12:30.791386" elapsed="0.002016"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.795900" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.793486" elapsed="0.002483"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.793457" elapsed="0.002542"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.799702" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.799789" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:30.796243" elapsed="0.003579"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.802090" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.799923" elapsed="0.002223"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.799898" elapsed="0.002271"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.802202" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.802394" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:30.802438" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:30.783394" elapsed="0.019066"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.804568" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.803012" elapsed="0.001602"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.802994" elapsed="0.001642"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.805207" 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-08-18T20:12:30.804794" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.805736" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.805392" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.805828" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:30.806006" 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-08-18T20:12:30.802666" elapsed="0.003365"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.806182" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:30.782848" elapsed="0.023775"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.814247" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.813954" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.825031" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.825312" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:30.825711" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.814398" elapsed="0.011375"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.826349" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.825997" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.829483" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:30.826607" elapsed="0.004179"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.833320" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.830887" elapsed="0.002502"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.830859" elapsed="0.002563"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.861552" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.861599" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:30.833643" elapsed="0.027978"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.863371" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.861698" elapsed="0.001729"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.861679" elapsed="0.001772"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.863484" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:30.863674" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:30.863717" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:30.813565" elapsed="0.050175"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.865907" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.864293" elapsed="0.001663"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.864275" elapsed="0.001703"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.866521" 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-08-18T20:12:30.866122" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.867076" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.866707" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.867151" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:30.867328" 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-08-18T20:12:30.863968" elapsed="0.003385"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.867505" 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-08-18T20:12:30.812958" elapsed="0.055007"/>
</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-08-18T20:12:30.765687" elapsed="0.102333"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:30.758989" elapsed="0.109141"/>
</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-08-18T20:12:30.878800" 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-08-18T20:12:30.878930" 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-08-18T20:12:30.878650" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:30.879479" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea160&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:30.879105" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.879948" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:30.879657" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.880385" 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-08-18T20:12:30.880121" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:30.880834" 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-08-18T20:12:30.880553" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.881536" 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-08-18T20:12:30.881003" elapsed="0.000562"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.882056" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.881714" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.882599" 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-08-18T20:12:30.882282" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.883127" 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-08-18T20:12:30.882805" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.883620" 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-08-18T20:12:30.883314" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.884139" 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-08-18T20:12:30.883826" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.884640" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea160&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:30.884328" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:30.878325" elapsed="0.006410"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.885272" 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-08-18T20:12:30.884897" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.885697" 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-08-18T20:12:30.885461" 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-08-18T20:12:30.894935" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.894625" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.900601" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.900723" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:30.900856" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.895087" elapsed="0.005794"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.901286" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.901037" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.903434" 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-08-18T20:12:30.901492" elapsed="0.001997"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.905306" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.903597" elapsed="0.001758"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.903577" elapsed="0.001800"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:30.908613" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:30.908677" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:30.905539" elapsed="0.003263"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:30.911238" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:30.908907" elapsed="0.002408"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.908881" elapsed="0.002467"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:30.911394" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:30.911657" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:30.911717" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:30.894317" elapsed="0.017454"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.914716" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.912511" elapsed="0.002264"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.912486" elapsed="0.002311"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.915331" 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-08-18T20:12:30.914940" elapsed="0.000416"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.915870" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:30.915511" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:30.915945" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:30.916119" 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-08-18T20:12:30.912061" elapsed="0.004083"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:30.916296" elapsed="0.000376"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:30.893770" elapsed="0.022963"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.924337" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:30.924046" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:30.938731" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:30.939180" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:30.939823" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:30.924488" elapsed="0.015395"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.940813" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:30.940228" elapsed="0.000688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:30.996291" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:30.941221" elapsed="0.056061"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:30.999183" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:30.997395" elapsed="0.001843"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:30.997366" elapsed="0.001894"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.026788" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:31.026835" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:30.999445" elapsed="0.027413"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:31.028617" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:31.026936" elapsed="0.001737"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.026917" elapsed="0.001779"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:31.028730" elapsed="0.000050"/>
</return>
<msg time="2026-08-18T20:12:31.028957" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:31.029000" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:30.923664" elapsed="0.105358"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.031199" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.029613" elapsed="0.001631"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.029595" elapsed="0.001670"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.031870" 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-08-18T20:12:31.031414" elapsed="0.000484"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.032402" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:31.032056" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:31.032477" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:31.032654" 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-08-18T20:12:31.029271" 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-08-18T20:12:31.032850" 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-08-18T20:12:30.923067" elapsed="0.110244"/>
</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-08-18T20:12:30.875116" elapsed="0.158255"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:30.868299" elapsed="0.165199"/>
</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-08-18T20:12:31.044450" 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-08-18T20:12:31.044611" 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-08-18T20:12:31.044308" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.045194" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0680&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.044804" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.045644" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.045367" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.046117" 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-08-18T20:12:31.045831" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.046557" 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-08-18T20:12:31.046288" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.047271" 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-08-18T20:12:31.046727" elapsed="0.000574"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.047799" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.047452" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.048348" 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-08-18T20:12:31.048031" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.048872" 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-08-18T20:12:31.048535" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.049366" 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-08-18T20:12:31.049059" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.049883" 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-08-18T20:12:31.049555" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.050409" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0680&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.050074" 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-08-18T20:12:31.043983" elapsed="0.006522"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.051043" 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-08-18T20:12:31.050649" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.051455" 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-08-18T20:12:31.051219" elapsed="0.000292"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.059217" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:31.058913" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:31.065785" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.065914" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:31.066018" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:31.059368" elapsed="0.006675"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.066483" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.066210" elapsed="0.000347"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.069493" 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-08-18T20:12:31.066788" elapsed="0.002825"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.072148" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.069710" elapsed="0.002508"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.069684" elapsed="0.002564"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.075605" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:31.075649" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:31.072432" elapsed="0.003239"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:31.077412" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:31.075746" elapsed="0.001721"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.075724" elapsed="0.001766"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:31.077523" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:31.077712" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:31.077772" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:31.058589" elapsed="0.019207"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.079925" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.078349" elapsed="0.001621"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.078331" elapsed="0.001661"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.080525" 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-08-18T20:12:31.080132" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.081071" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:31.080707" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:31.081146" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:31.081322" 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-08-18T20:12:31.078002" elapsed="0.003345"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:31.081499" 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-08-18T20:12:31.058030" elapsed="0.023930"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.089803" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:31.089493" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:31.101865" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.102278" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:31.102971" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:31.089956" elapsed="0.013074"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.103973" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.103377" elapsed="0.000696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.108953" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:31.104383" elapsed="0.006677"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.113177" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.111220" elapsed="0.002005"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.111177" elapsed="0.002070"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.141786" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:31.141835" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:31.113380" elapsed="0.028477"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:31.143635" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:31.141944" elapsed="0.001747"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.141924" elapsed="0.001791"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:31.143764" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:31.143957" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:31.143999" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:31.089127" elapsed="0.054894"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.146115" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.144552" elapsed="0.001608"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.144534" elapsed="0.001647"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.146738" 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-08-18T20:12:31.146322" elapsed="0.000458"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.147286" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:31.146938" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:31.147360" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:31.147536" 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-08-18T20:12:31.144230" elapsed="0.003331"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:31.147711" 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-08-18T20:12:31.088502" elapsed="0.059673"/>
</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-08-18T20:12:31.040756" elapsed="0.107475"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:31.033837" elapsed="0.114504"/>
</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-08-18T20:12:31.159120" 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-08-18T20:12:31.159247" 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-08-18T20:12:31.158984" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.159808" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987ced0d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.159421" elapsed="0.000415"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.160254" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.159983" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.160686" 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-08-18T20:12:31.160425" elapsed="0.000286"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.161138" 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-08-18T20:12:31.160874" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.161839" 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-08-18T20:12:31.161308" elapsed="0.000562"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.162343" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.162021" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.162936" 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-08-18T20:12:31.162575" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.163449" 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-08-18T20:12:31.163127" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.163967" 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-08-18T20:12:31.163638" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.164471" 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-08-18T20:12:31.164160" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.164993" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987ced0d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.164662" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:31.158640" elapsed="0.006448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.165607" 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-08-18T20:12:31.165233" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.166037" 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-08-18T20:12:31.165799" 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-08-18T20:12:31.173831" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:31.173520" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:31.179927" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.180052" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:31.180153" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:31.173984" elapsed="0.006194"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.180681" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.180332" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.183694" 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-08-18T20:12:31.180964" elapsed="0.002873"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.186329" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.183935" elapsed="0.002463"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.183909" elapsed="0.002520"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.190063" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:31.190126" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:31.186617" elapsed="0.003540"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:31.192366" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:31.190258" elapsed="0.002163"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.190233" elapsed="0.002211"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:31.192483" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:31.192673" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:31.192715" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:31.173214" elapsed="0.019523"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.194873" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.193283" elapsed="0.001635"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.193265" elapsed="0.001675"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.195472" 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-08-18T20:12:31.195083" elapsed="0.000415"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.196024" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:31.195655" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:31.196099" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:31.196275" 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-08-18T20:12:31.192961" elapsed="0.003339"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:31.196453" 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-08-18T20:12:31.172658" elapsed="0.024259"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.204546" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:31.204257" elapsed="0.000316"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:31.218727" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.219197" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:31.219865" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:31.204698" elapsed="0.015229"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.220873" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.220278" elapsed="0.000696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.225938" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:31.221285" elapsed="0.006601"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.230404" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.227986" elapsed="0.002491"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.227960" elapsed="0.002548"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.259898" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:31.259946" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:31.230697" elapsed="0.029271"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:31.261728" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:31.260046" elapsed="0.001753"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.260027" elapsed="0.001796"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:31.261857" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:31.262048" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:31.262091" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:31.203890" elapsed="0.058223"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.264230" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.262655" elapsed="0.001620"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.262637" elapsed="0.001659"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.264856" 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-08-18T20:12:31.264441" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.265387" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:31.265041" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:31.265461" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:31.265636" 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-08-18T20:12:31.262323" elapsed="0.003338"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:31.265829" 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-08-18T20:12:31.203273" elapsed="0.063003"/>
</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-08-18T20:12:31.155419" elapsed="0.110914"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:31.148582" elapsed="0.117863"/>
</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-08-18T20:12:31.277258" 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-08-18T20:12:31.277390" 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-08-18T20:12:31.277121" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.277965" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b99e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.277566" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.278414" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.278140" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.278870" 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-08-18T20:12:31.278585" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.279318" 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-08-18T20:12:31.279041" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.280088" 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-08-18T20:12:31.279489" elapsed="0.000629"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.280591" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.280269" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.281156" 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-08-18T20:12:31.280836" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.281672" 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-08-18T20:12:31.281345" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.282186" 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-08-18T20:12:31.281879" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.282694" 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-08-18T20:12:31.282377" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.283238" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b99e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.282902" 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-08-18T20:12:31.276799" elapsed="0.006535"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.283876" 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-08-18T20:12:31.283481" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.284291" 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-08-18T20:12:31.284052" 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-08-18T20:12:31.292098" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:31.291804" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:31.299489" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.299622" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:31.299799" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}/flow=${flow_id}?content=config</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:31.292250" elapsed="0.007595"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.300412" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.300067" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.303436" 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-08-18T20:12:31.300666" 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-08-18T20:12:31.306323" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.303665" elapsed="0.002736"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.303639" elapsed="0.002798"/>
</if>
<kw name="Is Flow Configured" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.310455" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:31.310504" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<status status="PASS" start="2026-08-18T20:12:31.306813" elapsed="0.003716"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:31.312780" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:31.310618" elapsed="0.002231"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.310595" elapsed="0.002282"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:31.312917" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:12:31.313131" level="INFO">${presence_flow} = True</msg>
<msg time="2026-08-18T20:12:31.313175" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:31.291465" elapsed="0.021732"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.315344" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.313733" elapsed="0.001657"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.313715" elapsed="0.001696"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.315970" 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-08-18T20:12:31.315556" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.316506" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:31.316155" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:31.316580" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:31.316774" 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-08-18T20:12:31.313406" elapsed="0.003395"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:31.316954" 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-08-18T20:12:31.290896" elapsed="0.026504"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.325270" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:31.324974" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:31.340224" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.340414" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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-08-18T20:12:31.340707" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:31.325423" elapsed="0.015310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.341159" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.340911" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.343350" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;9&lt;/second&gt;&lt;nanosecond&gt;500000000&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;8&lt;/second&gt;&lt;nanosecond&gt;231000000&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;9&lt;/second&gt;&lt;nanosecond&gt;536000000&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;9&lt;/second&gt;&lt;nanosecond&gt;570000000&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;9&lt;/second&gt;&lt;nanosecond&gt;607000000&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;9&lt;/second&gt;&lt;nanosecond&gt;640000000&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;8&lt;/second&gt;&lt;nanosecond&gt;259000000&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;8&lt;/second&gt;&lt;nanosecond&gt;300000000&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;9&lt;/second&gt;&lt;nanosecond&gt;673000000&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;8&lt;/second&gt;&lt;nanosecond&gt;331000000&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;9&lt;/second&gt;&lt;nanosecond&gt;708000000&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;8&lt;/second&gt;&lt;nanosecond&gt;364000000&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;9&lt;/second&gt;&lt;nanosecond&gt;743000000&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;8&lt;/second&gt;&lt;nanosecond&gt;401000000&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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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;8&lt;/second&gt;&lt;nanosecond&gt;438000000&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;9&lt;/second&gt;&lt;nanosecond&gt;807000000&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;9&lt;/second&gt;&lt;nanosecond&gt;841000000&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;8&lt;/second&gt;&lt;nanosecond&gt;897000000&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;9&lt;/second&gt;&lt;nanosecond&gt;183000000&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;8&lt;/second&gt;&lt;nanosecond&gt;99000000&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;9&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;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;8&lt;/second&gt;&lt;nanosecond&gt;132000000&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;9&lt;/second&gt;&lt;nanosecond&gt;253000000&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;8&lt;/second&gt;&lt;nanosecond&gt;165000000&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;9&lt;/second&gt;&lt;nanosecond&gt;288000000&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;9&lt;/second&gt;&lt;nanosecond&gt;324000000&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;9&lt;/second&gt;&lt;nanosecond&gt;358000000&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;9&lt;/second&gt;&lt;nanosecond&gt;394000000&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;8&lt;/second&gt;&lt;nanosecond&gt;197000000&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;9&lt;/second&gt;&lt;nanosecond&gt;430000000&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;9&lt;/second&gt;&lt;nanosecond&gt;462000000&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;8&lt;/second&gt;&lt;nanosecond&gt;541000000&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;8&lt;/second&gt;&lt;nanosecond&gt;577000000&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;9&lt;/second&gt;&lt;nanosecond&gt;47000000&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;8&lt;/second&gt;&lt;nanosecond&gt;613000000&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;7&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;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;8&lt;/second&gt;&lt;nanosecond&gt;646000000&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;8&lt;/second&gt;&lt;nanosecond&gt;682000000&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;8&lt;/second&gt;&lt;nanosecond&gt;716000000&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;8&lt;/second&gt;&lt;nanosecond&gt;753000000&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;7&lt;/second&gt;&lt;nanosecond&gt;930000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;8&lt;/second&gt;&lt;nanosecond&gt;790000000&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;7&lt;/second&gt;&lt;nanosecond&gt;962000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;82000000&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;8&lt;/second&gt;&lt;nanosecond&gt;826000000&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;7&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;99000000&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;8&lt;/second&gt;&lt;nanosecond&gt;861000000&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;8&lt;/second&gt;&lt;nanosecond&gt;28000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/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;9&lt;/second&gt;&lt;nanosecond&gt;150000000&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;8&lt;/second&gt;&lt;nanosecond&gt;66000000&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;8&lt;/second&gt;&lt;nanosecond&gt;935000000&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;8&lt;/second&gt;&lt;nanosecond&gt;971000000&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;9&lt;/second&gt;&lt;nanosecond&gt;9000000&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;8&lt;/second&gt;&lt;nanosecond&gt;508000000&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;8&lt;/second&gt;&lt;nanosecond&gt;473000000&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-08-18T20:12:31.341342" 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-08-18T20:12:31.346083" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.344352" elapsed="0.001780"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.344333" elapsed="0.001822"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.373279" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:12:31.373326" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:31.346289" elapsed="0.027060"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:31.375127" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:31.373427" elapsed="0.001756"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.373408" elapsed="0.001799"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:31.375240" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:31.375433" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:12:31.375476" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:31.324585" elapsed="0.050913"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:31.377635" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:31.376076" elapsed="0.001604"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:31.376057" elapsed="0.001644"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.378255" 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-08-18T20:12:31.377859" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.378806" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:31.378440" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:31.378882" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:31.379059" 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-08-18T20:12:31.375729" elapsed="0.003354"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:31.379236" 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-08-18T20:12:31.323978" elapsed="0.055733"/>
</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-08-18T20:12:31.273554" elapsed="0.106230"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:31.266693" elapsed="0.113208"/>
</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-08-18T20:12:31.381142" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.380887" 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-08-18T20:12:31.384572" 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-08-18T20:12:31.384710" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.384435" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.385294" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a62f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.384905" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.385761" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.385471" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.386204" 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-08-18T20:12:31.385938" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.386640" 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-08-18T20:12:31.386376" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.387401" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.386828" elapsed="0.000604"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.387937" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.387584" elapsed="0.000434"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.388481" 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-08-18T20:12:31.388172" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.389001" 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-08-18T20:12:31.388671" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.389487" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.389190" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.389999" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.389678" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.390493" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a62f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.390192" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:31.384108" elapsed="0.006480"/>
</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-08-18T20:12:31.406051" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.406096" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.406186" 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-08-18T20:12:31.397621" elapsed="0.008591"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.408314" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.406366" elapsed="0.001990"/>
</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-08-18T20:12:31.397239" elapsed="0.011175"/>
</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-08-18T20:12:31.390736" elapsed="0.017734"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.380726" elapsed="0.027782"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.408992" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.408731" elapsed="0.000305"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.412401" 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-08-18T20:12:31.412524" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.412267" elapsed="0.000286"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.413093" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98638dda0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.412699" elapsed="0.000421"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.413535" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.413265" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.413989" 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-08-18T20:12:31.413705" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.414424" 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-08-18T20:12:31.414160" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.415184" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.414597" elapsed="0.000616"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.415673" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.415364" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.416276" 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-08-18T20:12:31.415967" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.416789" 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-08-18T20:12:31.416465" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.417276" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.416978" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.417783" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.417466" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.418276" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98638dda0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.417975" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:31.411941" elapsed="0.006430"/>
</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-08-18T20:12:31.433708" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.433848" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.434051" 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-08-18T20:12:31.425183" elapsed="0.008925"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.439182" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.434456" elapsed="0.004823"/>
</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-08-18T20:12:31.424810" elapsed="0.014597"/>
</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-08-18T20:12:31.418513" elapsed="0.021009"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.408606" elapsed="0.030998"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.440700" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.440153" 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-08-18T20:12:31.446222" 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-08-18T20:12:31.446363" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.446088" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.446934" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630c8b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.446539" elapsed="0.000423"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.447382" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.447108" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.447837" 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-08-18T20:12:31.447552" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.448305" 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-08-18T20:12:31.448037" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.449043" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.448473" elapsed="0.000600"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.449533" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.449223" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.450082" 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-08-18T20:12:31.449773" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.450580" 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-08-18T20:12:31.450272" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.451082" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.450783" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.451575" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.451272" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.452117" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630c8b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.451781" 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-08-18T20:12:31.445755" elapsed="0.006459"/>
</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-08-18T20:12:31.467510" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.467556" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.467643" 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-08-18T20:12:31.459000" elapsed="0.008668"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.471727" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.467842" elapsed="0.004011"/>
</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-08-18T20:12:31.458614" elapsed="0.013381"/>
</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-08-18T20:12:31.452358" elapsed="0.019755"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.439872" elapsed="0.032324"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.473258" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.472682" 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-08-18T20:12:31.478431" 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-08-18T20:12:31.478555" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.478298" elapsed="0.000285"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.479132" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863205e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.478728" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.479576" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.479306" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.480062" 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-08-18T20:12:31.479763" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.480514" 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-08-18T20:12:31.480240" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.481293" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.480684" elapsed="0.000639"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.481800" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.481474" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.482294" 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-08-18T20:12:31.481991" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.482846" 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-08-18T20:12:31.482518" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.483332" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.483036" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.483855" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.483523" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.484378" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863205e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.484069" 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-08-18T20:12:31.477972" elapsed="0.006502"/>
</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-08-18T20:12:31.499844" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.499891" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.499979" 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-08-18T20:12:31.491265" elapsed="0.008739"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.504530" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.500194" elapsed="0.004429"/>
</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-08-18T20:12:31.490892" elapsed="0.013883"/>
</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-08-18T20:12:31.484618" elapsed="0.020279"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.472408" elapsed="0.032573"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.506051" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.505470" elapsed="0.000677"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.510766" 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-08-18T20:12:31.510893" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.510619" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.511459" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a49a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.511067" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.511923" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.511633" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.512392" 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-08-18T20:12:31.512096" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.512857" 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-08-18T20:12:31.512571" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.513655" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.513028" elapsed="0.000657"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.514164" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.513852" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.514657" 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-08-18T20:12:31.514355" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.515214" 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-08-18T20:12:31.514902" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.515706" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.515405" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.516241" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.515917" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.516738" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a49a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.516435" 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-08-18T20:12:31.510293" elapsed="0.006559"/>
</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-08-18T20:12:31.530153" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.530198" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.530284" 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-08-18T20:12:31.523591" elapsed="0.006717"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.532560" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.530466" elapsed="0.002158"/>
</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-08-18T20:12:31.523219" elapsed="0.009488"/>
</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-08-18T20:12:31.516997" elapsed="0.015810"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.505195" elapsed="0.027670"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.533554" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.533193" 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-08-18T20:12:31.538630" 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-08-18T20:12:31.538843" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.538438" elapsed="0.000447"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.539668" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5d50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.539101" elapsed="0.000607"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.540390" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.539951" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.541058" 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-08-18T20:12:31.540645" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.541622" 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-08-18T20:12:31.541311" elapsed="0.000336"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.542419" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.541807" elapsed="0.000649"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.542971" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.542643" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.543461" 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-08-18T20:12:31.543161" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.544020" 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-08-18T20:12:31.543689" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.544543" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.544213" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.545055" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.544736" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.545554" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5d50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.545248" 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-08-18T20:12:31.537957" elapsed="0.007691"/>
</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-08-18T20:12:31.559206" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.559271" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.559398" 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-08-18T20:12:31.552475" elapsed="0.006960"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.563870" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.559664" elapsed="0.004272"/>
</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-08-18T20:12:31.552091" elapsed="0.011928"/>
</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-08-18T20:12:31.545810" elapsed="0.018285"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.533006" elapsed="0.031144"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.564896" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.564508" 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-08-18T20:12:31.569968" 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-08-18T20:12:31.570150" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.569771" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.571015" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1b70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.570407" elapsed="0.000648"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.571672" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.571273" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.572340" 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-08-18T20:12:31.571950" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.573042" 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-08-18T20:12:31.572626" elapsed="0.000453"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.574026" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.573291" elapsed="0.000765"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.574513" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.574207" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.575021" 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-08-18T20:12:31.574702" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.575517" 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-08-18T20:12:31.575208" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.576055" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.575745" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.576587" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.576245" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.577098" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1b70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.576795" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:31.569269" elapsed="0.007923"/>
</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-08-18T20:12:31.589769" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.589837" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.589968" 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-08-18T20:12:31.584074" elapsed="0.005931"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.593293" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.590230" elapsed="0.003126"/>
</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-08-18T20:12:31.583688" elapsed="0.009752"/>
</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-08-18T20:12:31.577336" elapsed="0.016179"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.564290" elapsed="0.029279"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.594274" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.593913" elapsed="0.000424"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.598726" 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-08-18T20:12:31.598869" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.598594" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.599458" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4f90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.599047" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.599927" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.599637" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.600365" 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-08-18T20:12:31.600100" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.600842" 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-08-18T20:12:31.600559" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.601729" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.601013" elapsed="0.000762"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.602237" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.601928" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.602726" 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-08-18T20:12:31.602427" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.603236" 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-08-18T20:12:31.602931" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.603789" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.603468" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.604286" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.603983" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.604828" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4f90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.604503" 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-08-18T20:12:31.598267" elapsed="0.006657"/>
</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-08-18T20:12:31.618178" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.618222" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.618309" 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-08-18T20:12:31.611702" elapsed="0.006631"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.620542" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.618488" elapsed="0.002132"/>
</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-08-18T20:12:31.611323" elapsed="0.009355"/>
</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-08-18T20:12:31.605069" elapsed="0.015660"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.593708" elapsed="0.027073"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.621248" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.621004" elapsed="0.000288"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.626321" 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-08-18T20:12:31.626515" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.626126" elapsed="0.000439"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.627412" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863228e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.626813" elapsed="0.000641"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.628095" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.627670" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.628793" 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-08-18T20:12:31.628348" elapsed="0.000484"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.629438" 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-08-18T20:12:31.629048" elapsed="0.000429"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.630350" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.629635" elapsed="0.000745"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.630856" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.630531" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.631346" 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-08-18T20:12:31.631046" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.631858" 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-08-18T20:12:31.631537" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.632398" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.632097" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.632930" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.632608" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.633422" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863228e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.633122" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:31.625622" elapsed="0.007895"/>
</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-08-18T20:12:31.650405" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.650481" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.650629" 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-08-18T20:12:31.640427" elapsed="0.010238"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.654289" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.650921" elapsed="0.003463"/>
</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-08-18T20:12:31.640054" elapsed="0.014456"/>
</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-08-18T20:12:31.633661" elapsed="0.020961"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.620878" elapsed="0.033826"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.655781" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.655221" 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-08-18T20:12:31.662370" 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-08-18T20:12:31.662495" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.662239" elapsed="0.000283"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.663088" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c18a90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.662667" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.663536" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.663261" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.663989" 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-08-18T20:12:31.663706" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.664423" 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-08-18T20:12:31.664159" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.665324" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.664592" elapsed="0.000763"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.665840" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.665509" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.666336" 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-08-18T20:12:31.666032" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.666846" 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-08-18T20:12:31.666522" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.667328" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.667033" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.667884" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.667561" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.668378" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c18a90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.668076" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:31.661911" elapsed="0.006562"/>
</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-08-18T20:12:31.681575" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.681620" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.681708" 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-08-18T20:12:31.675285" elapsed="0.006448"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.683926" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.681907" elapsed="0.002062"/>
</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-08-18T20:12:31.674914" elapsed="0.009111"/>
</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-08-18T20:12:31.668618" elapsed="0.015458"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.654948" elapsed="0.029165"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.684575" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.684333" elapsed="0.000285"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.689047" 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-08-18T20:12:31.689220" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.688849" elapsed="0.000411"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.690048" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c182c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.689464" elapsed="0.000623"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.690671" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.690292" elapsed="0.000415"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.691311" 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-08-18T20:12:31.690939" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.691949" 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-08-18T20:12:31.691554" elapsed="0.000432"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.693223" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.692189" elapsed="0.001076"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.693798" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.693471" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.694291" 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-08-18T20:12:31.693990" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.694800" 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-08-18T20:12:31.694478" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.695283" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.694989" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.695880" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.695538" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.696378" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c182c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.696075" elapsed="0.000345"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:31.688347" elapsed="0.008127"/>
</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-08-18T20:12:31.709242" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.709287" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.709376" 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-08-18T20:12:31.703278" elapsed="0.006123"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.712606" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.709594" elapsed="0.003073"/>
</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-08-18T20:12:31.702904" elapsed="0.009863"/>
</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-08-18T20:12:31.696624" elapsed="0.016221"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.684209" elapsed="0.028688"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.713565" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.713225" elapsed="0.000400"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.718097" 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-08-18T20:12:31.718223" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.717965" elapsed="0.000287"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.718825" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc090&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.718399" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.719269" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.719000" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.719705" 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-08-18T20:12:31.719440" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.720161" 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-08-18T20:12:31.719895" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.721081" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.720330" elapsed="0.000782"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.721574" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.721265" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.722083" 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-08-18T20:12:31.721781" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.722573" 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-08-18T20:12:31.722271" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.723072" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.722776" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.723611" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.723301" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.724126" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc090&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.723820" 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-08-18T20:12:31.717622" elapsed="0.006599"/>
</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-08-18T20:12:31.737353" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.737398" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.737490" 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-08-18T20:12:31.731070" elapsed="0.006445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.739700" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.737669" elapsed="0.002089"/>
</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-08-18T20:12:31.730684" elapsed="0.009133"/>
</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-08-18T20:12:31.724365" elapsed="0.015503"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.713049" elapsed="0.026856"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.740365" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.740123" elapsed="0.000285"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.744901" 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-08-18T20:12:31.745091" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.744691" elapsed="0.000441"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.745950" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abccc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.745334" elapsed="0.000655"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.746571" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.746194" elapsed="0.000412"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.747200" 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-08-18T20:12:31.746831" elapsed="0.000405"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.747830" 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-08-18T20:12:31.747440" elapsed="0.000425"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.748974" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:31.748066" elapsed="0.000950"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.749631" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.749256" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.750139" 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-08-18T20:12:31.749836" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.750628" 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-08-18T20:12:31.750325" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.751125" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:31.750831" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.751656" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:31.751351" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.752166" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abccc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.751864" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:31.744181" elapsed="0.008080"/>
</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-08-18T20:12:31.765107" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.765175" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.765264" 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-08-18T20:12:31.759143" elapsed="0.006146"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.768374" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.765460" elapsed="0.002979"/>
</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-08-18T20:12:31.758770" elapsed="0.009766"/>
</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-08-18T20:12:31.752404" elapsed="0.016219"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.740000" elapsed="0.028687"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.769398" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.769021" 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-08-18T20:12:31.774193" 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-08-18T20:12:31.774319" 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-08-18T20:12:31.774062" elapsed="0.000285"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.774899" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd8f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.774493" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.775342" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.775072" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.775836" 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-08-18T20:12:31.775542" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.776269" 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-08-18T20:12:31.776005" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.777088" 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-08-18T20:12:31.776438" elapsed="0.000680"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.777626" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.777284" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.778134" 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-08-18T20:12:31.777831" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.778624" 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-08-18T20:12:31.778320" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.779120" 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-08-18T20:12:31.778825" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.779650" 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-08-18T20:12:31.779309" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.780165" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd8f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.779860" 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-08-18T20:12:31.773637" elapsed="0.006624"/>
</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-08-18T20:12:31.792791" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.792837" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.792925" 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-08-18T20:12:31.787156" elapsed="0.005795"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.795134" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.793104" 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-08-18T20:12:31.786785" elapsed="0.008449"/>
</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-08-18T20:12:31.780405" elapsed="0.014880"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.768847" elapsed="0.026475"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.795800" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.795540" elapsed="0.000305"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.799904" 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-08-18T20:12:31.800076" 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-08-18T20:12:31.799699" elapsed="0.000417"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.800880" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388ea0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.800318" elapsed="0.000601"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.801534" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.801122" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.802170" 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-08-18T20:12:31.801799" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.802865" 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-08-18T20:12:31.802409" elapsed="0.000494"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.804047" 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-08-18T20:12:31.803115" elapsed="0.000975"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.804728" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.804301" elapsed="0.000508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.805463" 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-08-18T20:12:31.805016" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.806177" 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-08-18T20:12:31.805727" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.806826" 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-08-18T20:12:31.806447" elapsed="0.000424"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.807315" 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-08-18T20:12:31.807015" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.807866" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388ea0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.807544" 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-08-18T20:12:31.799240" elapsed="0.008723"/>
</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-08-18T20:12:31.821134" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.821178" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.821264" 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-08-18T20:12:31.814846" elapsed="0.006443"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.823920" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.821476" elapsed="0.002505"/>
</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-08-18T20:12:31.814459" elapsed="0.009601"/>
</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-08-18T20:12:31.808107" elapsed="0.016023"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.795416" elapsed="0.028766"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.824852" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.824490" elapsed="0.000424"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.829603" 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-08-18T20:12:31.829796" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.829416" elapsed="0.000422"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.830609" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b0b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.830043" elapsed="0.000600"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.831083" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.830813" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.831518" 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-08-18T20:12:31.831255" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.831971" 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-08-18T20:12:31.831688" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.832687" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.832139" elapsed="0.000579"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.833194" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.832887" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.833716" 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-08-18T20:12:31.833384" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.834226" 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-08-18T20:12:31.833921" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.834708" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.834411" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.835211" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.834914" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.835767" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b0b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.835441" 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-08-18T20:12:31.828938" elapsed="0.006927"/>
</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-08-18T20:12:31.849402" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.849452" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.849565" 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-08-18T20:12:31.842734" elapsed="0.006857"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.851802" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.849774" elapsed="0.002071"/>
</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-08-18T20:12:31.842363" elapsed="0.009539"/>
</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-08-18T20:12:31.836010" elapsed="0.015942"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.824315" elapsed="0.027673"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.852452" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.852209" elapsed="0.000286"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.856473" 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-08-18T20:12:31.856644" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.856290" elapsed="0.000392"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.857426" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538bce0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.856906" elapsed="0.000558"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.858092" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.857691" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.858699" 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-08-18T20:12:31.858331" elapsed="0.000403"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.859329" 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-08-18T20:12:31.858961" elapsed="0.000403"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.860314" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.859564" elapsed="0.000791"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.861019" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.860564" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.861743" 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-08-18T20:12:31.861283" elapsed="0.000538"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.862471" 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-08-18T20:12:31.862028" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.863041" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.862727" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.863531" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.863231" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.864090" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538bce0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.863779" 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-08-18T20:12:31.855835" elapsed="0.008352"/>
</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-08-18T20:12:31.877984" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.878028" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.878115" 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-08-18T20:12:31.871007" elapsed="0.007133"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.881158" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.878295" elapsed="0.002923"/>
</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-08-18T20:12:31.870617" elapsed="0.010680"/>
</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-08-18T20:12:31.864331" elapsed="0.017036"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.852084" elapsed="0.029334"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.882137" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.881784" 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-08-18T20:12:31.886969" 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-08-18T20:12:31.887142" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.886782" elapsed="0.000400"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.887931" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858394e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.887386" elapsed="0.000584"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.888552" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.888176" elapsed="0.000412"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.889186" 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-08-18T20:12:31.888815" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.889853" 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-08-18T20:12:31.889425" elapsed="0.000464"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.890823" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.890092" elapsed="0.000761"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.891315" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.891006" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.891823" 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-08-18T20:12:31.891504" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.892315" 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-08-18T20:12:31.892011" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.892812" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.892502" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.893305" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.893006" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.893872" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858394e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.893535" 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-08-18T20:12:31.886264" elapsed="0.007705"/>
</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-08-18T20:12:31.908844" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.908908" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.909029" 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-08-18T20:12:31.900860" elapsed="0.008203"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.913055" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.909276" elapsed="0.003839"/>
</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-08-18T20:12:31.900468" elapsed="0.012725"/>
</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-08-18T20:12:31.894115" elapsed="0.019148"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.881551" elapsed="0.031762"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.914091" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.913615" elapsed="0.000540"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.918878" 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-08-18T20:12:31.919051" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.918669" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.919870" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a6b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.919295" elapsed="0.000613"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.920502" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.920112" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.921175" 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-08-18T20:12:31.920806" elapsed="0.000404"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.921898" 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-08-18T20:12:31.921411" elapsed="0.000524"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.923087" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.922140" elapsed="0.000989"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.923846" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.923338" elapsed="0.000566"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.924549" 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-08-18T20:12:31.924108" elapsed="0.000510"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.925291" 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-08-18T20:12:31.924864" elapsed="0.000483"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.926001" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.925551" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.926685" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.926265" elapsed="0.000503"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.927452" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a6b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.926972" elapsed="0.000550"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:31.918215" elapsed="0.009399"/>
</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-08-18T20:12:31.941181" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.941228" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.941316" 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-08-18T20:12:31.935398" elapsed="0.005943"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.944409" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.941495" 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-08-18T20:12:31.935027" elapsed="0.009519"/>
</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-08-18T20:12:31.927855" elapsed="0.016763"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.913444" elapsed="0.031225"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.945337" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.944999" elapsed="0.000399"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.950338" 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-08-18T20:12:31.950539" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.950151" elapsed="0.000436"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.951385" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.950833" elapsed="0.000590"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.952038" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.951626" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.952646" 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-08-18T20:12:31.952278" elapsed="0.000403"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.953274" 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-08-18T20:12:31.952906" elapsed="0.000402"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.954491" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.953508" elapsed="0.001035"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.955057" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.954732" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.955543" 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-08-18T20:12:31.955245" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.956048" 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-08-18T20:12:31.955728" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.956525" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.956233" elapsed="0.000335"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.957027" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.956712" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.957516" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.957218" 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-08-18T20:12:31.949573" elapsed="0.008079"/>
</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-08-18T20:12:31.970880" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.970942" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.971063" 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-08-18T20:12:31.964451" elapsed="0.006647"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.974311" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.971311" elapsed="0.003060"/>
</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-08-18T20:12:31.964081" elapsed="0.010367"/>
</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-08-18T20:12:31.957812" elapsed="0.016706"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.944824" elapsed="0.029745"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.975236" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.974894" elapsed="0.000402"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:31.979763" 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-08-18T20:12:31.979890" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.979615" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:31.980464" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853896c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:31.980064" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.980928" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:31.980638" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.981364" 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-08-18T20:12:31.981100" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:31.981815" 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-08-18T20:12:31.981534" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:31.982682" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.981996" elapsed="0.000716"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.983186" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.982878" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.983675" 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-08-18T20:12:31.983374" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.984182" 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-08-18T20:12:31.983877" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.984661" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:31.984368" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.985166" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:31.984866" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:31.985655" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853896c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:31.985356" 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-08-18T20:12:31.979283" elapsed="0.006521"/>
</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-08-18T20:12:31.998412" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:31.998457" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:31.998544" 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-08-18T20:12:31.992593" elapsed="0.005977"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.000777" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:31.998723" elapsed="0.002099"/>
</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-08-18T20:12:31.992221" elapsed="0.008657"/>
</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-08-18T20:12:31.985949" elapsed="0.014979"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-08-18T20:12:31.974699" elapsed="0.026265"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.001428" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.001181" elapsed="0.000291"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.005823" 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-08-18T20:12:32.005997" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.005616" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.006798" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839350&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.006255" elapsed="0.000583"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.007418" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.007042" elapsed="0.000411"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.008053" 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-08-18T20:12:32.007656" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.008659" 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-08-18T20:12:32.008292" elapsed="0.000402"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.009641" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.008918" elapsed="0.000765"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.010403" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.009917" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.010928" 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-08-18T20:12:32.010607" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.011420" 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-08-18T20:12:32.011114" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.011918" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.011606" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.012407" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.012108" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.012914" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839350&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.012596" 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-08-18T20:12:32.005159" elapsed="0.007888"/>
</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-08-18T20:12:32.027472" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.027534" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.027655" 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-08-18T20:12:32.019869" elapsed="0.007820"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.030739" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.027926" elapsed="0.002893"/>
</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-08-18T20:12:32.019478" elapsed="0.011421"/>
</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-08-18T20:12:32.013193" elapsed="0.017776"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.001058" elapsed="0.029962"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.031667" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.031327" 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-08-18T20:12:32.036027" 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-08-18T20:12:32.036152" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.035894" elapsed="0.000286"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.036736" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388b80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.036327" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.037199" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.036928" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.037634" 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-08-18T20:12:32.037371" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.038089" 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-08-18T20:12:32.037821" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.038990" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.038272" elapsed="0.000748"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.039478" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.039170" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.039991" 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-08-18T20:12:32.039672" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.040481" 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-08-18T20:12:32.040177" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.040981" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.040667" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.041471" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.041172" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.041980" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388b80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.041660" 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-08-18T20:12:32.035552" elapsed="0.006559"/>
</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-08-18T20:12:32.055085" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.055130" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.055219" 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-08-18T20:12:32.048934" elapsed="0.006310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.057444" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.055399" elapsed="0.002088"/>
</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-08-18T20:12:32.048548" elapsed="0.008996"/>
</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-08-18T20:12:32.042297" elapsed="0.015298"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.031153" elapsed="0.026478"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.058110" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.057866" elapsed="0.000287"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.062450" 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-08-18T20:12:32.062621" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.062250" elapsed="0.000409"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.063418" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c1a930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.062884" elapsed="0.000576"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.064072" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.063664" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.064684" 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-08-18T20:12:32.064311" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.065330" 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-08-18T20:12:32.064955" elapsed="0.000410"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.066453" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:32.065568" elapsed="0.000927"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.067161" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.066708" elapsed="0.000510"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.067834" 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-08-18T20:12:32.067434" elapsed="0.000441"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.068331" 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-08-18T20:12:32.068024" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.068833" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.068523" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.069325" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:32.069025" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.069833" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c1a930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.069515" 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-08-18T20:12:32.061795" elapsed="0.008135"/>
</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-08-18T20:12:32.082524" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.082569" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.082656" 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-08-18T20:12:32.076892" elapsed="0.005790"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.085481" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.082859" elapsed="0.002682"/>
</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-08-18T20:12:32.076497" elapsed="0.009124"/>
</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-08-18T20:12:32.070115" elapsed="0.015577"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.057726" elapsed="0.028036"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.086435" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.086075" elapsed="0.000424"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.091276" 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-08-18T20:12:32.091460" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.091089" elapsed="0.000420"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.092106" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.091705" elapsed="0.000429"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.092553" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.092282" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.093011" 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-08-18T20:12:32.092727" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.093450" 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-08-18T20:12:32.093183" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.094210" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:32.093625" elapsed="0.000615"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.094718" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.094391" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.095227" 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-08-18T20:12:32.094925" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.095720" 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-08-18T20:12:32.095414" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.096219" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.095925" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.096717" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:32.096410" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.097230" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.096927" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.090603" elapsed="0.006721"/>
</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-08-18T20:12:32.110770" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.110817" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.110904" 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-08-18T20:12:32.104201" elapsed="0.006728"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.113107" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.111081" elapsed="0.002068"/>
</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-08-18T20:12:32.103827" elapsed="0.009378"/>
</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-08-18T20:12:32.097509" elapsed="0.015747"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.085899" elapsed="0.027393"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.113771" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.113512" elapsed="0.000305"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.117883" 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-08-18T20:12:32.118056" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:32.117675" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.118883" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.118298" elapsed="0.000624"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.119511" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.119128" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.120145" 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-08-18T20:12:32.119772" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.120775" 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-08-18T20:12:32.120384" elapsed="0.000428"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.121857" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.121014" elapsed="0.000885"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.122575" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.122110" elapsed="0.000534"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.123310" 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-08-18T20:12:32.122883" elapsed="0.000484"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.123951" 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-08-18T20:12:32.123613" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.124432" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:32.124138" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.124942" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.124623" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.125434" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.125134" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.117219" elapsed="0.008312"/>
</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-08-18T20:12:32.139421" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.139476" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.139615" 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-08-18T20:12:32.132368" elapsed="0.007290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.142732" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.139909" elapsed="0.002903"/>
</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-08-18T20:12:32.131957" elapsed="0.010935"/>
</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-08-18T20:12:32.125678" elapsed="0.017285"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.113387" elapsed="0.029627"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.143660" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.143320" elapsed="0.000400"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.148241" 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-08-18T20:12:32.148366" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.148108" elapsed="0.000286"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.148958" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6980&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.148543" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.149408" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.149135" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.149868" 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-08-18T20:12:32.149583" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.150303" 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-08-18T20:12:32.150039" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.151140" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:32.150472" elapsed="0.000698"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.151631" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.151322" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.152140" 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-08-18T20:12:32.151838" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.152633" 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-08-18T20:12:32.152327" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.153132" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.152837" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.153620" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:32.153321" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.154129" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6980&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.153827" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.147781" elapsed="0.006441"/>
</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-08-18T20:12:32.167336" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.167414" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.167506" 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-08-18T20:12:32.161101" elapsed="0.006432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.169718" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.167686" elapsed="0.002092"/>
</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-08-18T20:12:32.160718" elapsed="0.009117"/>
</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-08-18T20:12:32.154366" elapsed="0.015520"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.143147" elapsed="0.026777"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.170387" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.170143" elapsed="0.000287"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.174802" 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-08-18T20:12:32.174978" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:32.174582" elapsed="0.000435"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.175773" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abdad0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.175222" elapsed="0.000591"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.176397" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.176019" elapsed="0.000413"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.177038" 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-08-18T20:12:32.176639" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.177647" 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-08-18T20:12:32.177277" elapsed="0.000405"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.178713" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.177907" elapsed="0.000895"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.179455" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.179018" elapsed="0.000508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.180044" 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-08-18T20:12:32.179726" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.180536" 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-08-18T20:12:32.180231" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.181033" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:32.180722" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.181521" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.181223" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.182026" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abdad0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.181711" 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-08-18T20:12:32.174125" elapsed="0.007996"/>
</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-08-18T20:12:32.195606" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.195684" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.195794" 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-08-18T20:12:32.188924" elapsed="0.006897"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.198624" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.195975" elapsed="0.002709"/>
</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-08-18T20:12:32.188536" elapsed="0.010248"/>
</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-08-18T20:12:32.182265" elapsed="0.016608"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.170019" elapsed="0.028907"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.199576" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.199234" 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-08-18T20:12:32.204361" 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-08-18T20:12:32.204536" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.204177" elapsed="0.000399"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.205369" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986323420&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.204803" elapsed="0.000605"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.206017" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.205612" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.206626" 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-08-18T20:12:32.206256" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.207299" 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-08-18T20:12:32.206920" elapsed="0.000415"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.208305" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.207571" elapsed="0.000763"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.208813" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.208486" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.209303" 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-08-18T20:12:32.209002" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.209809" 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-08-18T20:12:32.209488" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.210292" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.209997" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.210801" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.210481" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.211304" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986323420&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.211004" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.203695" elapsed="0.007703"/>
</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-08-18T20:12:32.223713" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.223799" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.223973" 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-08-18T20:12:32.218159" elapsed="0.005850"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.227086" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.224223" elapsed="0.002924"/>
</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-08-18T20:12:32.217790" elapsed="0.009436"/>
</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-08-18T20:12:32.211543" elapsed="0.015754"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.199061" elapsed="0.028286"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.228020" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.227655" 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-08-18T20:12:32.232477" 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-08-18T20:12:32.232607" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.232346" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.233204" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d33d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.232797" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.233645" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.233376" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.234105" 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-08-18T20:12:32.233839" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.234539" 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-08-18T20:12:32.234274" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.235458" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.234708" elapsed="0.000781"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.235972" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.235640" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.236463" 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-08-18T20:12:32.236162" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.236973" 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-08-18T20:12:32.236648" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.237452" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.237158" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.237960" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.237640" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.238448" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d33d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.238150" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.232019" elapsed="0.006522"/>
</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-08-18T20:12:32.251784" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.251830" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.251956" 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-08-18T20:12:32.245345" elapsed="0.006636"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.254769" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.252135" elapsed="0.002679"/>
</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-08-18T20:12:32.244975" elapsed="0.009895"/>
</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-08-18T20:12:32.238684" elapsed="0.016236"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.227481" elapsed="0.027475"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.255595" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.255294" elapsed="0.000376"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.260389" 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-08-18T20:12:32.260574" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.260206" elapsed="0.000408"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.261436" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1ee0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.260841" elapsed="0.000634"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.262087" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.261680" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.262696" 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-08-18T20:12:32.262328" elapsed="0.000403"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.263364" 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-08-18T20:12:32.262958" elapsed="0.000442"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.264365" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.263637" elapsed="0.000758"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.264873" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.264547" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.265366" 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-08-18T20:12:32.265065" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.265874" 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-08-18T20:12:32.265553" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.266355" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.266062" elapsed="0.000336"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.266961" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.266636" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.267487" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1ee0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.267175" 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-08-18T20:12:32.259738" elapsed="0.007849"/>
</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-08-18T20:12:32.280530" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.280592" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.280715" 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-08-18T20:12:32.274340" elapsed="0.006482"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.283926" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.281043" elapsed="0.002964"/>
</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-08-18T20:12:32.273969" elapsed="0.010126"/>
</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-08-18T20:12:32.267730" elapsed="0.016436"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.255051" elapsed="0.029168"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.284927" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.284561" elapsed="0.000427"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.289118" 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-08-18T20:12:32.289242" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.288987" elapsed="0.000283"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.289837" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d5d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.289415" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.290280" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.290011" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.290715" 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-08-18T20:12:32.290452" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.291169" 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-08-18T20:12:32.290905" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.292053" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.291355" elapsed="0.000728"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.292541" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.292233" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.293050" 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-08-18T20:12:32.292730" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.293542" 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-08-18T20:12:32.293237" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.294042" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.293729" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.294529" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.294232" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.295037" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d5d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.294719" 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-08-18T20:12:32.288647" elapsed="0.006483"/>
</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-08-18T20:12:32.308330" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.308375" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.308466" 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-08-18T20:12:32.301921" elapsed="0.006607"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.310726" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.308686" elapsed="0.002100"/>
</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-08-18T20:12:32.301533" elapsed="0.009311"/>
</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-08-18T20:12:32.295296" elapsed="0.015599"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.284384" elapsed="0.026547"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.311421" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.311152" 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-08-18T20:12:32.315849" 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-08-18T20:12:32.316024" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.315643" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.316850" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe3e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.316268" elapsed="0.000622"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.317475" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.317097" elapsed="0.000413"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.318109" 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-08-18T20:12:32.317714" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.318719" 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-08-18T20:12:32.318351" elapsed="0.000424"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.319986" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.318979" elapsed="0.001049"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.320699" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.320240" elapsed="0.000500"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.321210" 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-08-18T20:12:32.320907" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.321704" 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-08-18T20:12:32.321398" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.322202" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.321908" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.322691" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.322392" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.323197" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe3e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.322898" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.315147" elapsed="0.008145"/>
</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-08-18T20:12:32.337048" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.337110" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.337232" 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-08-18T20:12:32.330067" elapsed="0.007199"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.340395" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.337535" elapsed="0.002920"/>
</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-08-18T20:12:32.329683" elapsed="0.010851"/>
</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-08-18T20:12:32.323450" elapsed="0.017155"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.311027" elapsed="0.029629"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.341329" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.340989" elapsed="0.000402"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.346098" 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-08-18T20:12:32.346272" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.345913" elapsed="0.000398"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.347097" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c19350&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.346515" elapsed="0.000621"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.347778" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.347340" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.348392" 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-08-18T20:12:32.348023" elapsed="0.000404"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.349024" 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-08-18T20:12:32.348630" elapsed="0.000429"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.350237" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.349262" elapsed="0.001017"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.350944" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.350490" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.351668" 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-08-18T20:12:32.351213" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.352385" 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-08-18T20:12:32.351954" elapsed="0.000490"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.352964" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.352648" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.353454" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.353154" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.353965" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c19350&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.353644" 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-08-18T20:12:32.345435" elapsed="0.008626"/>
</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-08-18T20:12:32.366764" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.366811" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.366898" 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-08-18T20:12:32.360837" elapsed="0.006086"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.369519" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.367126" elapsed="0.002453"/>
</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-08-18T20:12:32.360451" elapsed="0.009207"/>
</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-08-18T20:12:32.354205" elapsed="0.015524"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.340811" elapsed="0.028992"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.370450" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.370111" 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-08-18T20:12:32.375300" 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-08-18T20:12:32.375474" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.375117" elapsed="0.000397"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.376363" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853894e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.375780" elapsed="0.000623"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.376942" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.376646" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.377381" 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-08-18T20:12:32.377115" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.377835" 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-08-18T20:12:32.377552" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.378732" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.378006" elapsed="0.000773"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.379243" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.378932" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.379787" 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-08-18T20:12:32.379432" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.380286" 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-08-18T20:12:32.379979" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.380781" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.380472" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.381273" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.380974" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.381783" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853894e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.381462" 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-08-18T20:12:32.374636" elapsed="0.007242"/>
</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-08-18T20:12:32.397817" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.397881" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.398002" 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-08-18T20:12:32.388643" elapsed="0.009394"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.401652" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.398305" elapsed="0.003473"/>
</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-08-18T20:12:32.388270" elapsed="0.013641"/>
</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-08-18T20:12:32.382022" elapsed="0.020001"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.369937" elapsed="0.032169"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.403180" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.402597" 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-08-18T20:12:32.409638" 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-08-18T20:12:32.409780" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.409504" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.410370" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf9c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.409958" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.410837" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.410546" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.411280" 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-08-18T20:12:32.411011" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.411760" 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-08-18T20:12:32.411454" elapsed="0.000336"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.412684" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.411945" elapsed="0.000770"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.413205" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.412888" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.413711" 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-08-18T20:12:32.413399" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.414231" 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-08-18T20:12:32.413919" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.414720" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.414421" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.415240" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.414930" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.415784" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf9c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.415433" elapsed="0.000395"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.409173" elapsed="0.006710"/>
</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-08-18T20:12:32.430320" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.430365" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.430451" 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-08-18T20:12:32.422633" elapsed="0.007843"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.433126" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.430671" elapsed="0.002552"/>
</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-08-18T20:12:32.422258" elapsed="0.011195"/>
</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-08-18T20:12:32.416028" elapsed="0.017545"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.402318" elapsed="0.031339"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.434734" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.434186" elapsed="0.000679"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.441521" 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-08-18T20:12:32.441646" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.441383" elapsed="0.000291"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.442251" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538bba0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.441838" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.442696" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.442426" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.443153" 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-08-18T20:12:32.442887" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.443590" 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-08-18T20:12:32.443327" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.444550" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.443790" elapsed="0.000791"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.445063" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.444735" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.445550" 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-08-18T20:12:32.445251" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.446058" 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-08-18T20:12:32.445735" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.446537" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.446243" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.447041" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.446725" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.447533" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538bba0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.447229" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.441050" elapsed="0.006576"/>
</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-08-18T20:12:32.461895" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.461940" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.462027" 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-08-18T20:12:32.454401" elapsed="0.007651"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.464302" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.462242" elapsed="0.002103"/>
</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-08-18T20:12:32.454033" elapsed="0.010369"/>
</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-08-18T20:12:32.447786" elapsed="0.016666"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.433903" elapsed="0.030591"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.465579" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.465031" 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-08-18T20:12:32.473282" 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-08-18T20:12:32.473475" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.473040" elapsed="0.000465"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.474077" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858393f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.473655" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.474521" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.474251" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.474979" 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-08-18T20:12:32.474694" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.475414" 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-08-18T20:12:32.475149" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.476278" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.475584" elapsed="0.000725"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.476793" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.476461" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.477286" 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-08-18T20:12:32.476984" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.477795" 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-08-18T20:12:32.477473" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.478277" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.477982" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.478780" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.478465" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.479270" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858393f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.478971" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.472266" elapsed="0.007098"/>
</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-08-18T20:12:32.492968" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.493014" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.493101" 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-08-18T20:12:32.486179" elapsed="0.006947"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.495313" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.493281" elapsed="0.002109"/>
</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-08-18T20:12:32.485809" elapsed="0.009639"/>
</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-08-18T20:12:32.479508" elapsed="0.015990"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.464711" elapsed="0.030824"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.496036" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.495772" 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-08-18T20:12:32.499440" 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-08-18T20:12:32.499566" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.499308" elapsed="0.000287"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.500195" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a070&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.499741" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.500773" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.500371" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.501388" 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-08-18T20:12:32.501019" elapsed="0.000404"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.502024" 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-08-18T20:12:32.501628" elapsed="0.000432"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.503281" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.502263" elapsed="0.001061"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.503992" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.503535" elapsed="0.000527"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.504700" 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-08-18T20:12:32.504272" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.505416" 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-08-18T20:12:32.504988" elapsed="0.000488"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.506120" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.505684" elapsed="0.000499"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.506829" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.506388" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.507516" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a070&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.507097" elapsed="0.000476"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.498979" elapsed="0.008669"/>
</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-08-18T20:12:32.521738" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.521802" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.521890" 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-08-18T20:12:32.514779" elapsed="0.007136"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.524136" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.522071" elapsed="0.002116"/>
</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-08-18T20:12:32.514387" elapsed="0.009900"/>
</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-08-18T20:12:32.507872" elapsed="0.016467"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.495631" elapsed="0.028744"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.525023" level="INFO">f156.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.524647" 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-08-18T20:12:32.529788" 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-08-18T20:12:32.529965" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.529583" elapsed="0.000422"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.530789" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399760&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.530210" elapsed="0.000620"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.531417" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.531037" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.532055" 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-08-18T20:12:32.531659" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.532701" 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-08-18T20:12:32.532328" elapsed="0.000408"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.533722" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:32.532966" elapsed="0.000801"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.534226" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.533919" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.534714" 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-08-18T20:12:32.534415" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.535221" 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-08-18T20:12:32.534916" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.535700" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.535408" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.536217" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:32.535906" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.536712" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399760&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.536407" 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-08-18T20:12:32.529127" elapsed="0.007698"/>
</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-08-18T20:12:32.549510" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.549573" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.549695" 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-08-18T20:12:32.543611" elapsed="0.006119"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.552816" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.549974" elapsed="0.002903"/>
</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-08-18T20:12:32.543240" elapsed="0.009763"/>
</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-08-18T20:12:32.536969" elapsed="0.016109"/>
</kw>
<var name="${flowfile}">f156.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.524472" elapsed="0.028658"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.553801" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.553438" 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-08-18T20:12:32.558075" 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-08-18T20:12:32.558198" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.557943" elapsed="0.000284"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.558790" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912b10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.558373" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.559235" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.558965" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.559669" 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-08-18T20:12:32.559406" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.560121" 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-08-18T20:12:32.559856" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.560984" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.560306" elapsed="0.000708"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.561475" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.561165" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.561985" 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-08-18T20:12:32.561665" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.562477" 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-08-18T20:12:32.562172" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.562978" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.562665" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.563468" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.563168" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.563984" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912b10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.563660" 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-08-18T20:12:32.557599" elapsed="0.006480"/>
</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-08-18T20:12:32.576180" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.576224" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.576325" 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-08-18T20:12:32.570858" elapsed="0.005493"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.578539" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.576507" elapsed="0.002075"/>
</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-08-18T20:12:32.570473" elapsed="0.008165"/>
</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-08-18T20:12:32.564223" elapsed="0.014503"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.553264" elapsed="0.025516"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.579248" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.579003" elapsed="0.000289"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.583193" 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-08-18T20:12:32.583366" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.583008" elapsed="0.000399"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.584193" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912390&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.583610" elapsed="0.000622"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.584856" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.584455" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.585467" 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-08-18T20:12:32.585097" elapsed="0.000405"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.586098" 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-08-18T20:12:32.585705" elapsed="0.000429"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.587271" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.586334" elapsed="0.000978"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.587976" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.587522" elapsed="0.000511"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.588731" 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-08-18T20:12:32.588240" elapsed="0.000574"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.589469" 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-08-18T20:12:32.589026" elapsed="0.000508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.590039" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.589717" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.590546" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.590234" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.591066" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912390&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.590740" 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-08-18T20:12:32.582530" elapsed="0.008634"/>
</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-08-18T20:12:32.603705" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.603770" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.603862" 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-08-18T20:12:32.597959" elapsed="0.005928"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.607336" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.604040" elapsed="0.003357"/>
</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-08-18T20:12:32.597571" elapsed="0.009905"/>
</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-08-18T20:12:32.591310" elapsed="0.016292"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.578877" elapsed="0.028778"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.608329" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.607986" 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-08-18T20:12:32.613138" 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-08-18T20:12:32.613313" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.612953" elapsed="0.000401"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.614033" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639ba10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.613591" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.614480" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.614207" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.614939" 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-08-18T20:12:32.614654" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.615377" 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-08-18T20:12:32.615111" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.616230" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.615551" elapsed="0.000709"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.616759" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.616415" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.617254" 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-08-18T20:12:32.616952" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.617760" 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-08-18T20:12:32.617441" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.618244" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.617949" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.618741" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.618434" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.619249" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639ba10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.618950" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.612470" elapsed="0.006875"/>
</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-08-18T20:12:32.631438" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.631494" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.631631" 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-08-18T20:12:32.626146" elapsed="0.005528"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.634775" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.631921" elapsed="0.002917"/>
</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-08-18T20:12:32.625773" elapsed="0.009145"/>
</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-08-18T20:12:32.619492" elapsed="0.015543"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.607812" elapsed="0.027278"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.635737" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.635393" elapsed="0.000431"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.640553" 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-08-18T20:12:32.640731" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.640330" elapsed="0.000462"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.641582" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8c20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.640996" elapsed="0.000630"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.642072" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.641799" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.642510" 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-08-18T20:12:32.642244" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.642963" 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-08-18T20:12:32.642679" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.643809" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.643133" elapsed="0.000706"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.644296" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.643989" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.644823" 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-08-18T20:12:32.644483" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.645316" 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-08-18T20:12:32.645011" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.645811" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.645501" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.646302" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.646003" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.646815" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8c20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.646492" 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-08-18T20:12:32.639878" elapsed="0.007034"/>
</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-08-18T20:12:32.660499" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.660548" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.660658" 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-08-18T20:12:32.653702" elapsed="0.006982"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.662892" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.660858" elapsed="0.002077"/>
</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-08-18T20:12:32.653331" elapsed="0.009660"/>
</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-08-18T20:12:32.647055" elapsed="0.015987"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.635223" elapsed="0.027893"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.663582" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.663339" elapsed="0.000287"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.667680" 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-08-18T20:12:32.667876" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.667495" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.668729" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639bf10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.668120" elapsed="0.000669"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.669378" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.668997" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.670021" 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-08-18T20:12:32.669622" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.670632" 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-08-18T20:12:32.670260" elapsed="0.000407"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.671919" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:32.670892" elapsed="0.001069"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.672603" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.672172" elapsed="0.000536"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.673365" 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-08-18T20:12:32.672939" elapsed="0.000484"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.673985" 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-08-18T20:12:32.673655" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.674465" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.674173" elapsed="0.000335"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.674973" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:32.674654" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.675464" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639bf10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.675164" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.667040" elapsed="0.008519"/>
</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-08-18T20:12:32.688350" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.688453" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.688652" 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-08-18T20:12:32.682480" elapsed="0.006251"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.693908" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.689116" elapsed="0.004857"/>
</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-08-18T20:12:32.682109" elapsed="0.011945"/>
</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-08-18T20:12:32.675704" elapsed="0.018420"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.663214" elapsed="0.031010"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.694920" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.694546" 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-08-18T20:12:32.699679" 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-08-18T20:12:32.699880" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.699491" elapsed="0.000430"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.700711" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9030&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.700126" elapsed="0.000684"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.701400" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.701018" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.701970" 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-08-18T20:12:32.701671" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.702407" 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-08-18T20:12:32.702144" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.703305" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:32.702576" elapsed="0.000759"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.703816" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.703485" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.704311" 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-08-18T20:12:32.704008" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.704833" 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-08-18T20:12:32.704498" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.705318" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.705023" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.705825" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:32.705508" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.706320" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9030&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.706019" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.699031" elapsed="0.007385"/>
</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-08-18T20:12:32.719264" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.719327" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.719449" 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-08-18T20:12:32.713216" elapsed="0.006267"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.722586" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.719696" elapsed="0.002952"/>
</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-08-18T20:12:32.712845" elapsed="0.009882"/>
</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-08-18T20:12:32.706564" elapsed="0.016258"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.694363" elapsed="0.028559"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.723585" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.723236" 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-08-18T20:12:32.728397" 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-08-18T20:12:32.728572" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.728211" elapsed="0.000402"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.729424" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1df0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.728855" elapsed="0.000609"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.730078" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.729669" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.730693" 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-08-18T20:12:32.730321" elapsed="0.000407"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.731336" 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-08-18T20:12:32.730958" elapsed="0.000413"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.732545" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.731572" elapsed="0.001015"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.733289" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.732821" elapsed="0.000526"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.733940" 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-08-18T20:12:32.733596" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.734432" 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-08-18T20:12:32.734128" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.734936" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.734624" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.735425" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.735126" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.735939" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1df0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.735621" 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-08-18T20:12:32.727732" elapsed="0.008301"/>
</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-08-18T20:12:32.749978" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.750078" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.750242" 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-08-18T20:12:32.742840" elapsed="0.007431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.753237" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.750428" elapsed="0.002869"/>
</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-08-18T20:12:32.742453" elapsed="0.010921"/>
</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-08-18T20:12:32.736178" elapsed="0.017273"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.723059" elapsed="0.030515"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.754276" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.753929" 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-08-18T20:12:32.759060" 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-08-18T20:12:32.759235" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.758874" elapsed="0.000401"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.760051" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858386d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.759478" elapsed="0.000613"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.760684" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.760299" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.761361" 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-08-18T20:12:32.760982" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.761869" 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-08-18T20:12:32.761585" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.762660" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.762039" elapsed="0.000651"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.763167" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.762857" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.763663" 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-08-18T20:12:32.763356" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.764190" 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-08-18T20:12:32.763880" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.764671" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:32.764377" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.765237" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:32.764878" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.765734" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858386d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.765431" 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-08-18T20:12:32.758397" elapsed="0.007454"/>
</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-08-18T20:12:32.778887" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.778932" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.779019" 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-08-18T20:12:32.772651" elapsed="0.006393"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.781957" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.779198" elapsed="0.002819"/>
</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-08-18T20:12:32.772276" elapsed="0.009820"/>
</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-08-18T20:12:32.765996" elapsed="0.016171"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.753733" elapsed="0.028486"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.782956" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.782587" elapsed="0.000431"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.787862" 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-08-18T20:12:32.788036" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:32.787649" elapsed="0.000426"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.788722" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538ab10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.788281" elapsed="0.000486"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.789203" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.788915" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.789641" 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-08-18T20:12:32.789376" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.790097" 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-08-18T20:12:32.789829" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.790808" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.790269" elapsed="0.000570"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.791304" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.790992" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.791812" 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-08-18T20:12:32.791494" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.792307" 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-08-18T20:12:32.792002" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.792808" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:32.792494" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.793312" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.793001" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.793816" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538ab10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.793502" 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-08-18T20:12:32.787092" elapsed="0.006820"/>
</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-08-18T20:12:32.808434" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.808479" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.808597" 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-08-18T20:12:32.800776" elapsed="0.007857"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.811700" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.808876" elapsed="0.002906"/>
</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-08-18T20:12:32.800385" elapsed="0.011478"/>
</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-08-18T20:12:32.794056" elapsed="0.017877"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.782412" elapsed="0.029570"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.812677" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.812338" elapsed="0.000399"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.817493" 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-08-18T20:12:32.817626" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:32.817306" elapsed="0.000348"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.818207" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858392b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.817816" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.818654" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.818381" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.819109" 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-08-18T20:12:32.818844" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.819544" 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-08-18T20:12:32.819280" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.820350" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:32.819718" elapsed="0.000662"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.820860" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.820535" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.821365" 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-08-18T20:12:32.821049" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.821871" 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-08-18T20:12:32.821550" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.822351" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:32.822057" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.822855" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:32.822540" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.823346" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858392b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.823045" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.816817" elapsed="0.006624"/>
</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-08-18T20:12:32.836053" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.836101" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.836188" 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-08-18T20:12:32.830253" elapsed="0.005960"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.839223" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.836371" elapsed="0.002913"/>
</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-08-18T20:12:32.829882" elapsed="0.009481"/>
</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-08-18T20:12:32.823585" elapsed="0.015847"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.812162" elapsed="0.027325"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.840214" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.839819" elapsed="0.000460"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.845024" 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-08-18T20:12:32.845197" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:32.844838" elapsed="0.000431"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.845905" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c19350&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.845479" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.846352" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.846079" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.846811" 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-08-18T20:12:32.846528" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.847248" 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-08-18T20:12:32.846984" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.847991" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.847418" elapsed="0.000603"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.848479" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.848171" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.848991" 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-08-18T20:12:32.848668" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.849503" 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-08-18T20:12:32.849179" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.850008" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:32.849696" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.850497" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.850198" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.851005" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c19350&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.850685" 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-08-18T20:12:32.844358" elapsed="0.006742"/>
</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-08-18T20:12:32.864250" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.864294" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.864380" 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-08-18T20:12:32.858043" elapsed="0.006362"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.867449" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.864587" elapsed="0.002925"/>
</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-08-18T20:12:32.857656" elapsed="0.009934"/>
</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-08-18T20:12:32.851244" elapsed="0.016415"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.839621" elapsed="0.028088"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.868378" level="INFO">f221.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.868040" elapsed="0.000399"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.873210" 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-08-18T20:12:32.873416" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.873025" elapsed="0.000432"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.874234" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853893a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.873666" elapsed="0.000606"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.874779" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.874476" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.875216" 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-08-18T20:12:32.874953" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.875652" 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-08-18T20:12:32.875387" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.876461" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:32.875842" elapsed="0.000648"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.876970" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.876640" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.877479" 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-08-18T20:12:32.877159" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.878005" 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-08-18T20:12:32.877677" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.878495" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:32.878192" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.879002" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:32.878683" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.879494" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853893a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.879193" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.872548" elapsed="0.007040"/>
</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-08-18T20:12:32.891849" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.891893" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.891981" 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-08-18T20:12:32.886386" elapsed="0.005620"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.894921" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.892160" elapsed="0.002822"/>
</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-08-18T20:12:32.886015" elapsed="0.009047"/>
</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-08-18T20:12:32.879732" elapsed="0.015401"/>
</kw>
<var name="${flowfile}">f221.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.867865" elapsed="0.027318"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.895854" level="INFO">f222.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.895489" elapsed="0.000427"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.900728" 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-08-18T20:12:32.900923" 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-08-18T20:12:32.900542" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.901712" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe520&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.901168" elapsed="0.000603"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.902360" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.901982" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.902932" 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-08-18T20:12:32.902639" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.903369" 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-08-18T20:12:32.903104" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.904039" 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-08-18T20:12:32.903540" elapsed="0.000529"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.904526" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.904219" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.905030" 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-08-18T20:12:32.904712" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.905543" 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-08-18T20:12:32.905217" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.906039" 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-08-18T20:12:32.905730" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.906525" 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-08-18T20:12:32.906227" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.907028" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe520&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.906713" 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-08-18T20:12:32.900085" elapsed="0.007037"/>
</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-08-18T20:12:32.920106" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.920151" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.920237" 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-08-18T20:12:32.913942" elapsed="0.006320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.923102" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.920416" elapsed="0.002745"/>
</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-08-18T20:12:32.913556" elapsed="0.009681"/>
</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-08-18T20:12:32.907267" elapsed="0.016040"/>
</kw>
<var name="${flowfile}">f222.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.895316" elapsed="0.028042"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.924028" level="INFO">f223.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.923664" 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-08-18T20:12:32.928846" 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-08-18T20:12:32.929020" 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-08-18T20:12:32.928640" elapsed="0.000420"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.929838" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abda30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.929267" elapsed="0.000611"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.930478" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.930088" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.931013" 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-08-18T20:12:32.930730" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.931599" 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-08-18T20:12:32.931187" elapsed="0.000437"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.932283" 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-08-18T20:12:32.931787" elapsed="0.000525"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.932791" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.932463" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.933283" 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-08-18T20:12:32.932982" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.933806" 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-08-18T20:12:32.933469" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.934288" 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-08-18T20:12:32.933994" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.934801" 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-08-18T20:12:32.934478" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.935299" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abda30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.934993" 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-08-18T20:12:32.928183" elapsed="0.007211"/>
</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-08-18T20:12:32.948029" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.948092" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.948225" 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-08-18T20:12:32.942212" elapsed="0.006048"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.951133" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.948475" elapsed="0.002716"/>
</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-08-18T20:12:32.941840" elapsed="0.009428"/>
</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-08-18T20:12:32.935538" elapsed="0.015800"/>
</kw>
<var name="${flowfile}">f223.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.923489" elapsed="0.027901"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.952064" level="INFO">f224.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.951697" elapsed="0.000427"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.956919" 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-08-18T20:12:32.957092" 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-08-18T20:12:32.956709" elapsed="0.000422"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.957899" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abfab0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.957337" elapsed="0.000600"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.958518" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.958143" elapsed="0.000410"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.959154" 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-08-18T20:12:32.958781" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.959785" 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-08-18T20:12:32.959392" elapsed="0.000429"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.960715" 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-08-18T20:12:32.960024" elapsed="0.000755"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.961424" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.960994" elapsed="0.000488"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.962172" 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-08-18T20:12:32.961727" elapsed="0.000501"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.962824" 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-08-18T20:12:32.962434" elapsed="0.000431"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.963303" 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-08-18T20:12:32.963011" elapsed="0.000336"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.963805" 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-08-18T20:12:32.963492" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.964294" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abfab0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.963995" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.956193" elapsed="0.008194"/>
</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-08-18T20:12:32.978430" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:32.978480" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:32.978617" 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-08-18T20:12:32.972098" elapsed="0.006563"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.981558" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.978916" elapsed="0.002702"/>
</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-08-18T20:12:32.971710" elapsed="0.009984"/>
</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-08-18T20:12:32.964531" elapsed="0.017278"/>
</kw>
<var name="${flowfile}">f224.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.951523" elapsed="0.030337"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.982506" level="INFO">f225.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:32.982167" elapsed="0.000399"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:32.987284" 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-08-18T20:12:32.987502" 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-08-18T20:12:32.987100" elapsed="0.000442"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:32.988290" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3fb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:32.987771" elapsed="0.000557"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.988939" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:32.988533" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.989550" 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-08-18T20:12:32.989180" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:32.990219" 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-08-18T20:12:32.989844" elapsed="0.000411"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:32.991056" 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-08-18T20:12:32.990463" elapsed="0.000622"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.991548" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.991236" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.992055" 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-08-18T20:12:32.991737" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.992544" 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-08-18T20:12:32.992241" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.993040" 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-08-18T20:12:32.992728" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.993613" 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-08-18T20:12:32.993229" elapsed="0.000429"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:32.994139" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3fb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:32.993837" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:32.986617" elapsed="0.007616"/>
</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-08-18T20:12:33.006820" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:33.006865" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:33.006954" 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-08-18T20:12:33.001050" elapsed="0.005929"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:33.009187" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:33.007137" elapsed="0.002093"/>
</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-08-18T20:12:33.000661" elapsed="0.008626"/>
</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-08-18T20:12:32.994376" elapsed="0.014961"/>
</kw>
<var name="${flowfile}">f225.xml</var>
<status status="PASS" start="2026-08-18T20:12:32.981993" elapsed="0.027381"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:33.009895" level="INFO">f550.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:33.009599" elapsed="0.000341"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:33.014461" 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-08-18T20:12:33.014682" 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-08-18T20:12:33.014276" elapsed="0.000447"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:33.015489" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cd3740&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:33.014951" elapsed="0.000577"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:33.016139" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:33.015736" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:33.016770" 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-08-18T20:12:33.016382" elapsed="0.000425"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:33.017383" 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-08-18T20:12:33.017013" elapsed="0.000405"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:33.018467" 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-08-18T20:12:33.017621" elapsed="0.000888"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:33.019230" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:33.018722" elapsed="0.000557"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:33.019728" 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-08-18T20:12:33.019428" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:33.020247" 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-08-18T20:12:33.019941" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:33.020727" 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-08-18T20:12:33.020434" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:33.021239" 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-08-18T20:12:33.020939" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:33.021727" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cd3740&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:33.021428" 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-08-18T20:12:33.013804" elapsed="0.008036"/>
</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-08-18T20:12:33.035078" level="INFO">DELETE Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:33.035140" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:12:33.035262" 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-08-18T20:12:33.028628" elapsed="0.006668"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:33.038373" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:33.035509" elapsed="0.002924"/>
</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-08-18T20:12:33.028256" elapsed="0.010257"/>
</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-08-18T20:12:33.022000" elapsed="0.016583"/>
</kw>
<var name="${flowfile}">f550.xml</var>
<status status="PASS" start="2026-08-18T20:12:33.009469" elapsed="0.029164"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-08-18T20:12:31.380552" elapsed="1.658126"/>
</for>
<kw name="Sleep" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.039504" 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-08-18T20:12:33.038906" elapsed="3.000872"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:12:36.044404" 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-08-18T20:12:36.040286" elapsed="0.004199"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:12:36.065661" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=31.122s, table=0, n_packets=16, n_bytes=1272, 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-08-18T20:12:36.044846" elapsed="0.020882"/>
</kw>
<doc>Delete all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-08-18T20:12:31.380160" elapsed="4.685731"/>
</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-08-18T20:12:36.076911" 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-08-18T20:12:36.077080" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.076739" elapsed="0.000369"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.077710" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986320d10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.077259" elapsed="0.000479"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.078188" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.077906" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.078633" 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-08-18T20:12:36.078364" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.079118" 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-08-18T20:12:36.078825" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.079920" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.079292" elapsed="0.000659"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.080449" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.080109" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.080978" 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-08-18T20:12:36.080641" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.081492" 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-08-18T20:12:36.081169" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.082017" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.081683" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.082524" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.082210" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.083084" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986320d10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.082716" 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-08-18T20:12:36.076404" elapsed="0.006779"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.083741" 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-08-18T20:12:36.083335" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.084184" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.083939" 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-08-18T20:12:36.091889" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.091565" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.099046" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.099217" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.099317" 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-08-18T20:12:36.092044" elapsed="0.007298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.099772" 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-08-18T20:12:36.099500" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.101901" 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-08-18T20:12:36.099958" elapsed="0.001994"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:36.104081" elapsed="0.000051"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.102036" elapsed="0.002152"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.102012" elapsed="0.002211"/>
</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-08-18T20:12:36.104421" 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-08-18T20:12:36.104730" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.104548" elapsed="0.000275"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.104525" elapsed="0.000331"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.104901" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:36.107164" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.107226" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.091247" elapsed="0.016010"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.110222" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.108026" elapsed="0.002260"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.108001" elapsed="0.002315"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.111123" 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-08-18T20:12:36.110514" elapsed="0.000647"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.111889" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.111381" elapsed="0.000544"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.111993" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:36.112278" 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-08-18T20:12:36.107548" elapsed="0.004761"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.112475" 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-08-18T20:12:36.090608" elapsed="0.022339"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.120659" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.120368" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.126252" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.126402" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.126501" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.120827" elapsed="0.005699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.126955" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.126683" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.129810" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.127167" elapsed="0.002715"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.132430" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.129978" elapsed="0.002521"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.129952" elapsed="0.002577"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.136089" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.136135" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.132721" 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-08-18T20:12:36.138102" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.136234" elapsed="0.001924"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.136215" elapsed="0.001967"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.138215" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.138406" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.138449" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.119996" elapsed="0.018475"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.140609" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.139021" elapsed="0.001634"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.139004" elapsed="0.001673"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.141234" 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-08-18T20:12:36.140837" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.141789" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.141421" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.141866" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:36.142044" 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-08-18T20:12:36.138679" elapsed="0.003390"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.142222" 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-08-18T20:12:36.119369" elapsed="0.023299"/>
</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-08-18T20:12:36.073152" elapsed="0.069572"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.066225" elapsed="0.076626"/>
</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-08-18T20:12:36.153654" 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-08-18T20:12:36.153798" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.153514" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.154358" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b880&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.153977" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.154868" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.154533" elapsed="0.000362"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.155326" 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-08-18T20:12:36.155043" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.155784" 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-08-18T20:12:36.155501" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.156542" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.155958" elapsed="0.000615"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.157071" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.156731" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.157575" 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-08-18T20:12:36.157262" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.158106" 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-08-18T20:12:36.157778" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.158596" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.158293" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.159115" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.158803" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.159649" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b880&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.159335" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:36.153190" elapsed="0.006568"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.160279" 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-08-18T20:12:36.159904" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.160693" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.160456" 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-08-18T20:12:36.168571" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.168278" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.173471" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.173586" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.173681" 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-08-18T20:12:36.168724" elapsed="0.004983"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.174179" 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-08-18T20:12:36.173918" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.176730" 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-08-18T20:12:36.174364" elapsed="0.002459"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:36.179436" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.176920" elapsed="0.002610"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.176895" 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-08-18T20:12:36.179776" 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-08-18T20:12:36.180093" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.179907" elapsed="0.000259"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.179884" elapsed="0.000314"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.180242" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:36.182550" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.182613" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.167968" elapsed="0.014677"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.185159" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.183448" elapsed="0.001757"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.183422" elapsed="0.001805"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.185789" 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-08-18T20:12:36.185371" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.186326" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.185977" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.186404" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.186580" 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-08-18T20:12:36.182954" elapsed="0.003651"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.186777" 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-08-18T20:12:36.167402" elapsed="0.019823"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.195090" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.194796" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.200030" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.200189" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.200324" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.195245" elapsed="0.005114"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.200950" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.200578" elapsed="0.000436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.204255" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.201208" elapsed="0.003120"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.206973" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.204482" elapsed="0.002561"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.204455" elapsed="0.002619"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.209940" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.209986" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.207261" elapsed="0.002748"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.211844" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.210084" elapsed="0.001818"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.210066" elapsed="0.001861"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.211961" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:36.212152" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.212195" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.194402" elapsed="0.017816"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.214374" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.212771" elapsed="0.001648"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.212737" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.215000" 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-08-18T20:12:36.214585" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.215561" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.215186" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.215638" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:36.215834" 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-08-18T20:12:36.212428" 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-08-18T20:12:36.216019" 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-08-18T20:12:36.193798" elapsed="0.022668"/>
</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-08-18T20:12:36.149957" elapsed="0.066564"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.143093" elapsed="0.073535"/>
</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-08-18T20:12:36.227267" 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-08-18T20:12:36.227414" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.227133" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.227990" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd120&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.227592" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.228437" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.228165" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.228896" 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-08-18T20:12:36.228610" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.229331" 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-08-18T20:12:36.229067" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.230251" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.229501" elapsed="0.000781"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.230784" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.230435" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.231340" 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-08-18T20:12:36.231018" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.231894" 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-08-18T20:12:36.231557" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.232391" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.232084" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.232916" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.232588" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.233420" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd120&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.233107" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:36.226811" elapsed="0.006702"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.234059" 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-08-18T20:12:36.233664" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.234472" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.234234" 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-08-18T20:12:36.242204" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.241913" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.246861" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.246975" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.247069" 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-08-18T20:12:36.242357" elapsed="0.004737"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.247527" 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-08-18T20:12:36.247249" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.250148" 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-08-18T20:12:36.247712" elapsed="0.002506"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:36.252727" elapsed="0.000060"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.250313" elapsed="0.002528"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.250287" elapsed="0.002587"/>
</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-08-18T20:12:36.253067" 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-08-18T20:12:36.253427" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.253192" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.253170" elapsed="0.000363"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.253578" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:36.255875" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.255938" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.241585" elapsed="0.014384"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.258385" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.256728" elapsed="0.001709"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.256706" elapsed="0.001756"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.259119" 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-08-18T20:12:36.258641" elapsed="0.000513"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.259766" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.259341" elapsed="0.000454"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.259847" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:36.260030" 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-08-18T20:12:36.256257" elapsed="0.003798"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.260212" 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-08-18T20:12:36.241036" elapsed="0.019630"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.268377" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.268082" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.273170" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.273330" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.273465" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.268530" elapsed="0.004971"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.274102" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.273722" elapsed="0.000444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.277427" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.274363" elapsed="0.003139"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.280063" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.277600" elapsed="0.002532"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.277574" elapsed="0.002588"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.283706" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.283790" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.280351" elapsed="0.003473"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.286252" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.283931" elapsed="0.002399"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.283905" elapsed="0.002457"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.286408" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:36.286673" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.286733" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.267692" elapsed="0.019093"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.289521" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.287621" elapsed="0.001948"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.287596" elapsed="0.001997"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.290152" 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-08-18T20:12:36.289737" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.290687" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.290338" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.290781" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:36.290961" 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-08-18T20:12:36.287131" elapsed="0.003855"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.291140" 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-08-18T20:12:36.267052" elapsed="0.024546"/>
</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-08-18T20:12:36.223607" elapsed="0.068047"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.216874" elapsed="0.074903"/>
</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-08-18T20:12:36.302393" 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-08-18T20:12:36.302520" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.302260" elapsed="0.000289"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.303107" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abcea0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.302696" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.303580" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.303282" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.304039" 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-08-18T20:12:36.303772" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.304482" 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-08-18T20:12:36.304210" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.305444" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.304656" elapsed="0.000819"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.305974" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.305629" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.306479" 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-08-18T20:12:36.306165" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.307006" 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-08-18T20:12:36.306667" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.307498" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.307194" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.308035" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.307706" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.308539" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abcea0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.308226" 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-08-18T20:12:36.301940" elapsed="0.006731"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.309211" 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-08-18T20:12:36.308833" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.309625" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.309387" 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-08-18T20:12:36.317287" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.316995" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.322005" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.322119" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.322215" 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-08-18T20:12:36.317440" elapsed="0.004800"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.322649" 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-08-18T20:12:36.322395" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.324815" 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-08-18T20:12:36.322851" elapsed="0.002015"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:36.326643" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.324935" elapsed="0.001773"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.324916" elapsed="0.001816"/>
</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-08-18T20:12:36.326887" 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-08-18T20:12:36.327107" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.326977" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.326961" elapsed="0.000218"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.327211" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:12:36.329021" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.329084" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.316670" elapsed="0.012446"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.332064" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.329879" elapsed="0.002248"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.329854" elapsed="0.002304"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.332926" 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-08-18T20:12:36.332355" elapsed="0.000608"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.333728" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.333234" elapsed="0.000551"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.333858" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:36.334107" 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-08-18T20:12:36.329401" elapsed="0.004741"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.334356" elapsed="0.000552"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:36.316125" elapsed="0.018870"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.343167" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.342874" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.347299" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.347411" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.347506" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.343320" elapsed="0.004211"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.347972" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.347705" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.350269" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.348156" elapsed="0.002164"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.352139" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.350389" elapsed="0.001799"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.350370" elapsed="0.001840"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.355713" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.355797" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.352344" elapsed="0.003487"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.358264" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.355938" elapsed="0.002402"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.355912" elapsed="0.002460"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.358419" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:12:36.358680" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.358740" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.342484" elapsed="0.016309"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.361480" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.359532" elapsed="0.001993"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.359508" elapsed="0.002038"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.362100" 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-08-18T20:12:36.361689" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.362628" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.362284" elapsed="0.000369"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.362701" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.362893" 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-08-18T20:12:36.359083" elapsed="0.003868"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.363110" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:36.341888" elapsed="0.021668"/>
</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-08-18T20:12:36.298768" elapsed="0.064843"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.292014" elapsed="0.071719"/>
</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-08-18T20:12:36.374422" 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-08-18T20:12:36.374560" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.374282" elapsed="0.000310"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.375168" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583acf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.374760" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.375639" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.375357" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.376169" 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-08-18T20:12:36.375882" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.376621" 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-08-18T20:12:36.376349" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.377620" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.376810" elapsed="0.000841"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.378152" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.377821" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.378666" 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-08-18T20:12:36.378345" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.379207" 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-08-18T20:12:36.378876" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.379709" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.379398" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.380336" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.379945" elapsed="0.000438"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.380869" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583acf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.380531" 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-08-18T20:12:36.373960" elapsed="0.007005"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.381487" 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-08-18T20:12:36.381109" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.381929" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.381661" 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-08-18T20:12:36.389654" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.389359" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.395977" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.396099" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.396199" 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-08-18T20:12:36.389824" elapsed="0.006400"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.396627" 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-08-18T20:12:36.396379" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.398759" 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-08-18T20:12:36.396826" elapsed="0.001985"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:36.400620" elapsed="0.000050"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.398882" elapsed="0.001852"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.398862" 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-08-18T20:12:36.400992" 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-08-18T20:12:36.401295" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.401116" elapsed="0.000249"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.401094" elapsed="0.000302"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.401440" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:36.403670" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.403732" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.389048" elapsed="0.014733"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.406701" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.404536" elapsed="0.002245"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.404512" elapsed="0.002300"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.407554" 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-08-18T20:12:36.407011" elapsed="0.000585"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.408374" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.407882" elapsed="0.000528"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.408479" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:36.408713" 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-08-18T20:12:36.404085" elapsed="0.004652"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.408909" elapsed="0.000377"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:36.388481" elapsed="0.020867"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.416994" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.416687" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.421739" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.421908" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.422005" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.417149" elapsed="0.004880"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.423934" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.422187" elapsed="0.001796"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.426772" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.424128" elapsed="0.002717"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.429363" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.426942" elapsed="0.002488"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.426916" elapsed="0.002545"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.433109" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.433154" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.429648" elapsed="0.003528"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.435016" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.433251" elapsed="0.001821"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.433233" elapsed="0.001862"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.435129" elapsed="0.000026"/>
</return>
<msg time="2026-08-18T20:12:36.435317" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.435359" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.416318" elapsed="0.019063"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.437499" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.435945" elapsed="0.001599"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.435927" elapsed="0.001640"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.438124" 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-08-18T20:12:36.437713" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.438663" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.438309" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.438739" elapsed="0.000046"/>
</return>
<msg time="2026-08-18T20:12:36.438935" 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-08-18T20:12:36.435588" elapsed="0.003372"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.439114" elapsed="0.000379"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:36.415683" elapsed="0.023872"/>
</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-08-18T20:12:36.370754" elapsed="0.068856"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.363979" elapsed="0.075740"/>
</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-08-18T20:12:36.450498" 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-08-18T20:12:36.450631" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.450362" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.451216" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838f90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.450823" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.451707" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.451390" elapsed="0.000344"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.452183" 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-08-18T20:12:36.451899" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.452620" 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-08-18T20:12:36.452355" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.453610" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.452808" elapsed="0.000833"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.454139" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.453813" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.454654" 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-08-18T20:12:36.454340" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.455181" 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-08-18T20:12:36.454860" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.455675" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.455370" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.456243" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.455884" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.456772" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838f90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.456438" 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-08-18T20:12:36.450038" elapsed="0.006830"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.457389" 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-08-18T20:12:36.457013" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.457817" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.457565" 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-08-18T20:12:36.465433" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.465141" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.470247" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.470365" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.470494" 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-08-18T20:12:36.465586" elapsed="0.004933"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.470953" 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-08-18T20:12:36.470680" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.473395" 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-08-18T20:12:36.471139" 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-08-18T20:12:36.476000" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.473561" elapsed="0.002533"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.473535" elapsed="0.002592"/>
</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-08-18T20:12:36.476321" 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-08-18T20:12:36.476630" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.476447" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.476424" elapsed="0.000308"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.476797" elapsed="0.000021"/>
</return>
<msg time="2026-08-18T20:12:36.479068" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.479130" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.464833" elapsed="0.014328"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.481737" elapsed="0.000030"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.479923" elapsed="0.001876"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.479897" elapsed="0.001924"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.482354" 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-08-18T20:12:36.481963" elapsed="0.000417"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.482898" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.482535" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.482973" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.483149" 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-08-18T20:12:36.479449" elapsed="0.003724"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.483334" elapsed="0.000378"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:36.464271" elapsed="0.019519"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.491526" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.491230" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.496857" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.497030" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.497170" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.491680" elapsed="0.005526"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.497824" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.497437" elapsed="0.000453"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.501305" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.498097" elapsed="0.003346"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.503964" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.501543" elapsed="0.002536"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.501517" elapsed="0.002603"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.506985" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.507031" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.504317" elapsed="0.002736"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.508817" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.507129" elapsed="0.001745"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.507111" elapsed="0.001786"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.508931" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:36.509122" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.509164" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.490857" elapsed="0.018330"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.511290" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.509726" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.509708" elapsed="0.001648"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.511912" 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-08-18T20:12:36.511498" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.512466" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.512118" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.512542" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.512723" 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-08-18T20:12:36.509396" elapsed="0.003366"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.512918" 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-08-18T20:12:36.490231" elapsed="0.023134"/>
</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-08-18T20:12:36.446830" elapsed="0.066591"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.440039" elapsed="0.073496"/>
</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-08-18T20:12:36.524284" 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-08-18T20:12:36.524421" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.524145" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.525024" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389cb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.524598" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.525477" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.525201" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.525943" 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-08-18T20:12:36.525657" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.526383" 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-08-18T20:12:36.526117" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.527433" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.526555" elapsed="0.000908"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.527960" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.527616" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.528537" 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-08-18T20:12:36.528213" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.529068" 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-08-18T20:12:36.528729" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.529567" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.529258" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.530092" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.529774" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.530600" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389cb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.530284" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:36.523796" elapsed="0.006900"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.531236" 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-08-18T20:12:36.530857" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.531650" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.531412" 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-08-18T20:12:36.539319" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.539027" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.544923" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.545082" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.545214" 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-08-18T20:12:36.539473" elapsed="0.005775"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.545834" 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-08-18T20:12:36.545466" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.548817" 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-08-18T20:12:36.546090" elapsed="0.002797"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:36.551363" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.548983" elapsed="0.002513"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.548957" elapsed="0.002577"/>
</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-08-18T20:12:36.551726" 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-08-18T20:12:36.552058" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.551874" elapsed="0.000257"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.551851" elapsed="0.000357"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.552258" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:36.554022" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.554067" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.538699" elapsed="0.015391"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.556195" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.554625" elapsed="0.001616"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.554608" elapsed="0.001655"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.556814" 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-08-18T20:12:36.556404" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.557340" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.556997" elapsed="0.000368"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.557414" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.557594" 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-08-18T20:12:36.554296" elapsed="0.003323"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.557786" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:36.538154" elapsed="0.020075"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.565910" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.565594" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.570623" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.570734" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.570850" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.566061" elapsed="0.004814"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.571444" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.571033" elapsed="0.000457"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.573604" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.571637" elapsed="0.002016"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.575440" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.573722" elapsed="0.001766"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.573703" elapsed="0.001807"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.578951" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.579015" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.575645" elapsed="0.003401"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.581508" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.579150" elapsed="0.002434"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.579125" elapsed="0.002492"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.581713" elapsed="0.000061"/>
</return>
<msg time="2026-08-18T20:12:36.582012" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.582072" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.565222" elapsed="0.016881"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.585019" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.582870" elapsed="0.002194"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.582845" elapsed="0.002241"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.585625" 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-08-18T20:12:36.585230" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.586176" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.585826" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.586253" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.586429" 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-08-18T20:12:36.582392" elapsed="0.004062"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.586607" 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-08-18T20:12:36.564610" elapsed="0.022455"/>
</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-08-18T20:12:36.520586" elapsed="0.066535"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.513813" elapsed="0.073416"/>
</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-08-18T20:12:36.598143" 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-08-18T20:12:36.598270" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.598006" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.598892" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b5b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.598450" elapsed="0.000470"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.599343" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.599069" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.599801" 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-08-18T20:12:36.599517" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.600240" 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-08-18T20:12:36.599974" elapsed="0.000326"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.601375" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.600451" elapsed="0.000956"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.601905" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.601562" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.602410" 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-08-18T20:12:36.602097" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.602932" 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-08-18T20:12:36.602599" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.603427" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.603120" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.603950" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.603618" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.604523" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538b5b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.604183" 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-08-18T20:12:36.597666" elapsed="0.006958"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.605161" 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-08-18T20:12:36.604786" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.605575" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.605338" 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-08-18T20:12:36.613192" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.612900" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.617889" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.618004" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.618100" 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-08-18T20:12:36.613345" elapsed="0.004780"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.618531" 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-08-18T20:12:36.618283" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.620675" 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-08-18T20:12:36.618719" elapsed="0.002007"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:36.622502" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.620810" elapsed="0.001758"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.620790" elapsed="0.001801"/>
</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-08-18T20:12:36.622727" elapsed="0.000037"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.622968" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.622835" elapsed="0.000183"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.622819" elapsed="0.000222"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.623073" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:12:36.624694" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.624739" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.612576" elapsed="0.012199"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.626907" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.625348" elapsed="0.001603"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.625330" elapsed="0.001643"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.627505" 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-08-18T20:12:36.627116" elapsed="0.000416"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.628055" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.627688" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.628130" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.628323" 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-08-18T20:12:36.625020" elapsed="0.003335"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.628517" 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-08-18T20:12:36.612019" elapsed="0.016959"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.636847" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.636533" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.642378" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.642536" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.642683" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.637001" elapsed="0.005717"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.643314" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.642968" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.646314" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.643569" elapsed="0.002815"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.648916" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.646480" elapsed="0.002503"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.646454" elapsed="0.002558"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.652896" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.652942" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.649204" elapsed="0.003761"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.654702" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.653040" elapsed="0.001734"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.653021" elapsed="0.001777"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.654832" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:36.655024" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.655067" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.636121" elapsed="0.018968"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.657197" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.655616" elapsed="0.001625"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.655599" elapsed="0.001664"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.657815" 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-08-18T20:12:36.657405" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.658385" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.658035" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.658460" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.658640" 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-08-18T20:12:36.655295" elapsed="0.003370"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.658834" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:36.635504" elapsed="0.023773"/>
</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-08-18T20:12:36.594456" elapsed="0.064877"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.587532" elapsed="0.071907"/>
</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-08-18T20:12:36.670316" 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-08-18T20:12:36.670442" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.670183" elapsed="0.000288"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.671039" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2980&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.670618" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.671486" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.671213" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.671946" 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-08-18T20:12:36.671659" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.672385" 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-08-18T20:12:36.672119" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.673303" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.672573" elapsed="0.000760"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.673825" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.673486" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.674332" 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-08-18T20:12:36.674017" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.674862" 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-08-18T20:12:36.674520" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.675359" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.675052" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.675879" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.675551" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.676385" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2980&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.676072" 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-08-18T20:12:36.669853" elapsed="0.006655"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.677049" 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-08-18T20:12:36.676652" elapsed="0.000460"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.677505" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.677265" 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-08-18T20:12:36.685108" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.684816" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.689685" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.689822" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.689931" 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-08-18T20:12:36.685261" elapsed="0.004696"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.690363" 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-08-18T20:12:36.690114" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.692520" 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-08-18T20:12:36.690548" 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-08-18T20:12:36.694714" elapsed="0.000057"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.692646" elapsed="0.002179"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.692628" elapsed="0.002230"/>
</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-08-18T20:12:36.695050" 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-08-18T20:12:36.695355" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.695173" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.695151" elapsed="0.000306"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.695501" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:36.697778" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.697842" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.684491" elapsed="0.013382"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.700839" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.698610" elapsed="0.002292"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.698585" elapsed="0.002347"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.701694" 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-08-18T20:12:36.701129" elapsed="0.000598"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.702260" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.701916" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.702368" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:36.702546" 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-08-18T20:12:36.698158" elapsed="0.004413"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.702729" 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-08-18T20:12:36.683921" elapsed="0.019270"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.710822" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.710516" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.716045" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.716157" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.716251" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.710975" elapsed="0.005301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.716710" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.716431" elapsed="0.000346"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.719409" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.716917" elapsed="0.002562"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.721984" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.719573" elapsed="0.002477"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.719548" elapsed="0.002532"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.725889" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.725934" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.722266" elapsed="0.003690"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.727884" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.726031" elapsed="0.001908"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.726013" elapsed="0.001949"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.727996" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:36.728186" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.728228" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.710147" elapsed="0.018103"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.730381" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.728824" elapsed="0.001602"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.728806" elapsed="0.001642"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.731023" 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-08-18T20:12:36.730607" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.731554" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.731207" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.731630" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.731825" 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-08-18T20:12:36.728459" elapsed="0.003392"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.732043" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:36.709534" elapsed="0.022953"/>
</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-08-18T20:12:36.666620" elapsed="0.065922"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.659671" elapsed="0.073004"/>
</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-08-18T20:12:36.743320" 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-08-18T20:12:36.743446" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.743187" elapsed="0.000288"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.744052" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e82c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.743628" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.744502" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.744230" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.745005" 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-08-18T20:12:36.744717" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.745444" 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-08-18T20:12:36.745180" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.746342" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.745616" elapsed="0.000756"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.746859" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.746524" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.747362" 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-08-18T20:12:36.747050" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.747888" 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-08-18T20:12:36.747548" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.748382" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.748077" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.748930" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.748571" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.749434" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e82c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.749122" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:36.742866" elapsed="0.006663"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.750066" 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-08-18T20:12:36.749672" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.750479" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.750242" elapsed="0.000334"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.758350" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.758060" elapsed="0.000316"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.762781" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.762899" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.762995" 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-08-18T20:12:36.758503" elapsed="0.004517"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.763423" 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-08-18T20:12:36.763176" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.765612" 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-08-18T20:12:36.763609" 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-08-18T20:12:36.768357" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.765811" elapsed="0.002644"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.765782" elapsed="0.002709"/>
</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-08-18T20:12:36.768710" 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-08-18T20:12:36.769056" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.768864" elapsed="0.000266"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.768839" elapsed="0.000324"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.769210" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:36.771591" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.771655" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.757732" 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-08-18T20:12:36.774698" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.772563" elapsed="0.002195"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.772527" elapsed="0.002256"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.775331" 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-08-18T20:12:36.774931" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.775886" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.775516" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.775960" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:36.776139" 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-08-18T20:12:36.772009" elapsed="0.004155"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.776318" 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-08-18T20:12:36.757183" elapsed="0.019627"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.784438" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.784148" elapsed="0.000316"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.788728" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.788905" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.789003" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.784590" elapsed="0.004438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.789431" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.789185" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.792640" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.789655" 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-08-18T20:12:36.795280" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.792865" elapsed="0.002484"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.792837" elapsed="0.002543"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.798839" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.798884" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.795571" elapsed="0.003336"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.800647" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.798981" elapsed="0.001720"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.798963" elapsed="0.001779"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.800791" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.800983" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.801026" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.783779" elapsed="0.017268"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.803142" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.801576" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.801559" elapsed="0.001649"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.803761" 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-08-18T20:12:36.803351" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.804290" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.803947" elapsed="0.000369"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.804365" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:36.804539" 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-08-18T20:12:36.801254" elapsed="0.003309"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.804737" 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-08-18T20:12:36.783165" elapsed="0.022030"/>
</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-08-18T20:12:36.739642" elapsed="0.065608"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.732924" elapsed="0.072438"/>
</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-08-18T20:12:36.816085" 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-08-18T20:12:36.816222" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.815948" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.816833" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eae30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.816399" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.817333" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.817010" elapsed="0.000350"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.817794" 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-08-18T20:12:36.817509" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.818237" 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-08-18T20:12:36.817970" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.820713" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.818408" elapsed="0.002377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.821280" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.820947" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.821816" 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-08-18T20:12:36.821476" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.822330" 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-08-18T20:12:36.822008" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.822846" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.822519" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.823355" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.823040" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.823881" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eae30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.823547" 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-08-18T20:12:36.815611" elapsed="0.008367"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.824497" 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-08-18T20:12:36.824122" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.824957" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.824672" 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-08-18T20:12:36.832600" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.832306" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.837622" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.837823" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.838015" 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-08-18T20:12:36.832766" elapsed="0.005284"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.838611" 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-08-18T20:12:36.838266" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.841631" 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-08-18T20:12:36.838888" elapsed="0.002812"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:36.844221" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.841819" elapsed="0.002496"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.841791" elapsed="0.002558"/>
</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-08-18T20:12:36.844540" 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-08-18T20:12:36.844899" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.844670" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.844647" elapsed="0.000358"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.845049" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:36.847284" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.847347" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.831996" elapsed="0.015382"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.850210" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.848147" elapsed="0.002109"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.848122" elapsed="0.002156"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.850830" 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-08-18T20:12:36.850420" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.851358" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.851012" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.851433" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.851610" 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-08-18T20:12:36.847670" elapsed="0.003964"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.851802" 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-08-18T20:12:36.831436" elapsed="0.020813"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.859925" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.859613" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.865859" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.865992" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.866094" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.860921" elapsed="0.005198"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.866538" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.866281" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.869877" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.866865" elapsed="0.003172"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.872562" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.870137" elapsed="0.002493"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.870111" elapsed="0.002550"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.876527" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.876591" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.872885" elapsed="0.003737"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.878921" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.876729" elapsed="0.002248"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.876703" elapsed="0.002299"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.879036" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:36.879234" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.879278" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.859236" elapsed="0.020064"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.881429" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.879853" elapsed="0.001621"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.879835" elapsed="0.001662"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.882058" 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-08-18T20:12:36.881645" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.882590" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.882244" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.882665" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.882859" 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-08-18T20:12:36.879509" elapsed="0.003376"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.883038" elapsed="0.000377"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:36.858618" elapsed="0.024859"/>
</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-08-18T20:12:36.812383" elapsed="0.071149"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.805623" elapsed="0.078023"/>
</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-08-18T20:12:36.894619" 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-08-18T20:12:36.894802" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.894484" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.895391" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0c70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.894979" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.895856" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.895566" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.896295" 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-08-18T20:12:36.896030" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.896730" 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-08-18T20:12:36.896465" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.897852" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.896918" elapsed="0.000965"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.898361" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.898037" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.898952" 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-08-18T20:12:36.898610" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.899468" 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-08-18T20:12:36.899145" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.899986" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.899659" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.900490" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.900178" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.901042" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0c70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.900681" 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-08-18T20:12:36.894162" elapsed="0.006976"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.901664" 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-08-18T20:12:36.901283" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.902098" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.901858" 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-08-18T20:12:36.909771" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.909462" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.914344" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.914459" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.914555" 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-08-18T20:12:36.909927" elapsed="0.004653"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.915011" 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-08-18T20:12:36.914741" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.917168" 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-08-18T20:12:36.915194" elapsed="0.002023"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:36.919689" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.917317" elapsed="0.002486"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.917266" elapsed="0.002572"/>
</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-08-18T20:12:36.920029" 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-08-18T20:12:36.920336" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.920154" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.920132" elapsed="0.000306"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.920482" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:36.922767" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.922832" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.909150" elapsed="0.013713"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.925829" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.923602" elapsed="0.002272"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.923577" elapsed="0.002319"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.926430" 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-08-18T20:12:36.926039" elapsed="0.000417"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.926973" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.926612" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.927048" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:36.927225" 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-08-18T20:12:36.923152" elapsed="0.004097"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.927401" 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-08-18T20:12:36.908565" elapsed="0.019293"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.935668" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.935371" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.940876" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.940989" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:36.941123" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:36.935836" elapsed="0.005312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.941553" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:36.941304" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.944567" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:36.941869" elapsed="0.002768"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.947169" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.944731" elapsed="0.002506"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.944705" elapsed="0.002563"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.950672" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:36.950718" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:36.947456" elapsed="0.003284"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:36.952501" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.950834" elapsed="0.001757"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.950815" elapsed="0.001802"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:36.952652" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:36.952861" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:36.952905" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:36.935001" elapsed="0.017926"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.955062" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.953492" elapsed="0.001614"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.953474" elapsed="0.001654"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.955666" 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-08-18T20:12:36.955272" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.956219" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.955869" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:36.956294" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:36.956471" 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-08-18T20:12:36.953157" elapsed="0.003339"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:36.956650" 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-08-18T20:12:36.934376" elapsed="0.022762"/>
</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-08-18T20:12:36.890858" elapsed="0.066336"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.884051" elapsed="0.073249"/>
</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-08-18T20:12:36.968168" 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-08-18T20:12:36.968296" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.968033" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:36.968888" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:36.968475" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.969405" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:36.969067" elapsed="0.000367"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.969871" 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-08-18T20:12:36.969585" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:36.970314" 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-08-18T20:12:36.970047" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:36.971165" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:36.970489" elapsed="0.000706"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.971672" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.971350" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.972196" 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-08-18T20:12:36.971880" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.972704" 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-08-18T20:12:36.972385" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.973253" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.972911" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.973818" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:36.973485" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.974327" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:36.974012" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:36.967688" elapsed="0.006735"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.974965" 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-08-18T20:12:36.974569" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.975379" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:36.975142" 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-08-18T20:12:36.983006" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:36.982694" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:36.987372" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:36.987486" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:36.987591" 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-08-18T20:12:36.983160" elapsed="0.004458"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.988058" 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-08-18T20:12:36.987809" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.990720" 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-08-18T20:12:36.988243" elapsed="0.002570"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:36.993321" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:12:36.990912" elapsed="0.002501"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.990886" elapsed="0.002559"/>
</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-08-18T20:12:36.993635" 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-08-18T20:12:36.993965" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:36.993781" elapsed="0.000255"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:36.993738" elapsed="0.000330"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.994112" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:36.996346" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:36.996408" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:36.982385" elapsed="0.014053"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:36.999010" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:36.997295" elapsed="0.001760"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:36.997269" elapsed="0.001808"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:36.999612" 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-08-18T20:12:36.999220" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.000162" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:36.999813" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.000237" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:37.000415" 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-08-18T20:12:36.996805" 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-08-18T20:12:37.000590" 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-08-18T20:12:36.981841" elapsed="0.019209"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.008811" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.008502" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.013104" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.013244" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.013341" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.008963" elapsed="0.004403"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.013931" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.013522" elapsed="0.000471"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.016905" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.014187" elapsed="0.002789"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.019508" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.017071" elapsed="0.002505"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.017045" elapsed="0.002561"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.022869" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.022915" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.019815" elapsed="0.003123"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.024845" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.023012" elapsed="0.001889"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.022994" elapsed="0.001931"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.024959" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:37.025148" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.025191" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.008134" elapsed="0.017079"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.027338" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.025779" elapsed="0.001604"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.025760" elapsed="0.001645"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.027962" 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-08-18T20:12:37.027548" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.028541" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.028189" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.028617" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.028811" 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-08-18T20:12:37.025439" elapsed="0.003397"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.028988" 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-08-18T20:12:37.007516" elapsed="0.021942"/>
</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-08-18T20:12:36.964265" elapsed="0.065249"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:36.957538" elapsed="0.072081"/>
</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-08-18T20:12:37.040326" 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-08-18T20:12:37.040452" 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-08-18T20:12:37.040193" elapsed="0.000287"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.041037" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838860&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.040626" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.041495" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.041212" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.041951" 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-08-18T20:12:37.041668" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.042386" 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-08-18T20:12:37.042122" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.043219" 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-08-18T20:12:37.042555" elapsed="0.000694"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.043727" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.043401" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.044251" 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-08-18T20:12:37.043937" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.044772" 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-08-18T20:12:37.044439" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.045293" 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-08-18T20:12:37.044962" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.045819" 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-08-18T20:12:37.045487" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.046322" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838860&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.046011" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:37.039872" elapsed="0.006543"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.046950" 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-08-18T20:12:37.046559" elapsed="0.000454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.047402" 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-08-18T20:12:37.047163" 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-08-18T20:12:37.055199" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.054903" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.061276" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.061427" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.061524" 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-08-18T20:12:37.055354" elapsed="0.006196"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.062176" 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-08-18T20:12:37.061828" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.065136" 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-08-18T20:12:37.062434" elapsed="0.002772"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:37.067716" elapsed="0.000058"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.065306" elapsed="0.002522"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.065276" elapsed="0.002585"/>
</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-08-18T20:12:37.068053" 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-08-18T20:12:37.068387" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.068176" elapsed="0.000284"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.068154" elapsed="0.000337"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.068534" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:37.070516" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.070560" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.054573" elapsed="0.016009"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.072682" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.071134" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.071116" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.073296" 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-08-18T20:12:37.072906" elapsed="0.000417"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.073856" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.073497" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.073930" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:37.074142" 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-08-18T20:12:37.070810" elapsed="0.003357"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.074321" elapsed="0.000378"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.054017" elapsed="0.020761"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.082391" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.082100" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.087787" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.087901" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.087997" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.082543" elapsed="0.005478"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.088423" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.088177" elapsed="0.000290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.091614" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.088623" elapsed="0.003062"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.094209" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.091804" elapsed="0.002474"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.091777" elapsed="0.002532"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.097979" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.098024" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.094508" elapsed="0.003538"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.099802" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.098122" elapsed="0.001735"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.098103" elapsed="0.001778"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.099914" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:37.100103" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.100145" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.081714" elapsed="0.018453"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.102267" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.100696" elapsed="0.001616"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.100679" elapsed="0.001654"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.102890" 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-08-18T20:12:37.102475" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.103417" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.103072" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.103491" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.103666" 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-08-18T20:12:37.100374" elapsed="0.003316"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.103859" elapsed="0.000378"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.081094" elapsed="0.023261"/>
</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-08-18T20:12:37.036637" elapsed="0.067776"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.029869" elapsed="0.074653"/>
</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-08-18T20:12:37.115265" 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-08-18T20:12:37.115394" 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-08-18T20:12:37.115131" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.115983" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eb510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.115570" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.116433" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.116159" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.116896" 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-08-18T20:12:37.116607" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.117338" 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-08-18T20:12:37.117074" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.118349" 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-08-18T20:12:37.117526" elapsed="0.000854"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.118879" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.118533" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.119387" 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-08-18T20:12:37.119072" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.119916" 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-08-18T20:12:37.119578" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.120413" 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-08-18T20:12:37.120105" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.120934" 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-08-18T20:12:37.120605" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.121438" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eb510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.121125" 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-08-18T20:12:37.114807" elapsed="0.006750"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.122099" 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-08-18T20:12:37.121706" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.122512" 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-08-18T20:12:37.122275" elapsed="0.000334"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.130198" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.129907" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.135077" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.135190" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.135285" 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-08-18T20:12:37.130352" elapsed="0.004958"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.135716" 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-08-18T20:12:37.135465" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.137900" 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-08-18T20:12:37.135922" elapsed="0.002029"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:37.140254" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.138020" elapsed="0.002327"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.138001" elapsed="0.002378"/>
</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-08-18T20:12:37.140569" 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-08-18T20:12:37.140903" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.140699" elapsed="0.000277"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.140677" elapsed="0.000331"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.141052" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:37.143297" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.143359" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.129579" elapsed="0.013810"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.146376" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.144147" elapsed="0.002292"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.144122" elapsed="0.002348"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.147269" 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-08-18T20:12:37.146670" elapsed="0.000636"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.147844" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.147480" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.147919" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:37.148095" 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-08-18T20:12:37.143673" elapsed="0.004446"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.148270" elapsed="0.000377"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.129002" elapsed="0.019708"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.156378" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.156089" elapsed="0.000316"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.162283" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.162626" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.162933" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.156530" elapsed="0.006469"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.164037" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.163386" elapsed="0.000761"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.168493" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.164484" elapsed="0.004083"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.171176" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.168665" elapsed="0.002580"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.168638" elapsed="0.002639"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.174957" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.175003" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.171468" elapsed="0.003558"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.176783" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.175103" elapsed="0.001736"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.175084" elapsed="0.001777"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.176894" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.177086" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.177128" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.155704" elapsed="0.021446"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.179257" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.177696" elapsed="0.001605"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.177678" elapsed="0.001644"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.179877" 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-08-18T20:12:37.179464" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.180405" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.180060" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.180479" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.180654" 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-08-18T20:12:37.177357" elapsed="0.003322"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.180848" elapsed="0.000379"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.155106" elapsed="0.026183"/>
</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-08-18T20:12:37.111566" elapsed="0.069778"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.104840" elapsed="0.076611"/>
</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-08-18T20:12:37.192107" 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-08-18T20:12:37.192235" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.191974" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.192812" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389300&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.192412" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.193307" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.192989" elapsed="0.000344"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.193789" 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-08-18T20:12:37.193485" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.194233" 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-08-18T20:12:37.193965" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.195167" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.194405" elapsed="0.000793"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.195685" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.195351" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.196211" 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-08-18T20:12:37.195895" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.196719" 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-08-18T20:12:37.196400" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.197234" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.196926" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.197787" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.197424" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.198301" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389300&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.197983" 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-08-18T20:12:37.191636" elapsed="0.006761"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.198936" 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-08-18T20:12:37.198542" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.199351" level="INFO">&lt;?xml version="1.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-08-18T20:12:37.199114" elapsed="0.000293"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.206968" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.206654" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.211886" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.212003" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.212098" 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-08-18T20:12:37.207121" elapsed="0.005002"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.212572" 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-08-18T20:12:37.212322" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.214836" 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-08-18T20:12:37.212772" 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-08-18T20:12:37.217410" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.215004" elapsed="0.002500"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.214978" elapsed="0.002559"/>
</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-08-18T20:12:37.217743" 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-08-18T20:12:37.218073" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.217890" elapsed="0.000255"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.217867" elapsed="0.000309"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.218220" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:37.220456" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.220517" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.206340" elapsed="0.014209"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.223328" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.221313" elapsed="0.002060"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.221288" elapsed="0.002106"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.223946" 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-08-18T20:12:37.223536" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.224470" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.224128" elapsed="0.000368"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.224545" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.224719" 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-08-18T20:12:37.220860" elapsed="0.003900"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.224917" elapsed="0.000377"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.205797" elapsed="0.019559"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.232999" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.232692" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.237647" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.237803" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.237901" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.233152" elapsed="0.004773"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.238328" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.238082" elapsed="0.000290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.243215" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.238511" elapsed="0.004775"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.245914" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.243434" elapsed="0.002549"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.243406" elapsed="0.002607"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.249056" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.249102" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.246202" elapsed="0.002922"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.250899" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.249199" elapsed="0.001757"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.249180" elapsed="0.001800"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.251013" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:37.251204" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.251247" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.232325" elapsed="0.018944"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.253377" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.251819" elapsed="0.001604"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.251801" elapsed="0.001643"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.254031" 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-08-18T20:12:37.253591" elapsed="0.000467"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.254571" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.254215" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.254646" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.254839" 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-08-18T20:12:37.251478" elapsed="0.003386"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.255018" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.231712" elapsed="0.023747"/>
</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-08-18T20:12:37.188440" elapsed="0.067074"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.181766" elapsed="0.073855"/>
</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-08-18T20:12:37.266297" 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-08-18T20:12:37.266427" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.266163" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.267000" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912340&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.266602" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.267448" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.267175" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.267904" 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-08-18T20:12:37.267620" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.268341" 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-08-18T20:12:37.268076" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.269066" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.268512" elapsed="0.000585"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.307973" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.269247" elapsed="0.038796"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.308784" 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-08-18T20:12:37.308378" elapsed="0.000450"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.309303" 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-08-18T20:12:37.308979" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.309815" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.309489" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.310351" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.310033" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.310888" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985912340&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.310541" 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-08-18T20:12:37.265841" elapsed="0.045152"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.311553" 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-08-18T20:12:37.311141" elapsed="0.000443"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.311996" level="INFO">&lt;?xml version="1.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-08-18T20:12:37.311730" 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-08-18T20:12:37.319804" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.319475" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.325566" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.325717" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.325847" 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-08-18T20:12:37.319962" elapsed="0.005911"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.326313" 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-08-18T20:12:37.326063" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.329218" 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-08-18T20:12:37.326496" elapsed="0.002794"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:37.331900" elapsed="0.000047"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.329396" elapsed="0.002606"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.329365" elapsed="0.002671"/>
</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-08-18T20:12:37.332230" 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-08-18T20:12:37.332542" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.332360" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.332334" elapsed="0.000358"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.332741" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:37.334914" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.334959" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.319166" elapsed="0.015815"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.337091" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.335514" elapsed="0.001622"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.335496" elapsed="0.001662"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.337696" 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-08-18T20:12:37.337300" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.338283" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.337896" elapsed="0.000419"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.338375" elapsed="0.000035"/>
</return>
<msg time="2026-08-18T20:12:37.338583" 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-08-18T20:12:37.335187" 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-08-18T20:12:37.338792" 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-08-18T20:12:37.318571" elapsed="0.020682"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.346955" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.346641" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.352325" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.352533" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.352731" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.347109" elapsed="0.005685"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.353364" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.353015" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.356369" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.353626" elapsed="0.002813"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.358956" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.356536" elapsed="0.002488"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.356510" elapsed="0.002545"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.362598" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.362677" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.359244" elapsed="0.003473"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.364481" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.362828" elapsed="0.001708"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.362805" elapsed="0.001754"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.364592" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:37.364802" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.364847" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.346269" elapsed="0.018600"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.367032" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.365458" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.365441" elapsed="0.001658"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.367640" 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-08-18T20:12:37.367241" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.368189" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.367841" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.368265" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:37.368443" 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-08-18T20:12:37.365075" elapsed="0.003393"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.368620" 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-08-18T20:12:37.345636" elapsed="0.023442"/>
</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-08-18T20:12:37.262625" elapsed="0.106508"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.255877" elapsed="0.113380"/>
</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-08-18T20:12:37.380355" 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-08-18T20:12:37.380511" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.380211" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.381107" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a49a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.380689" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.381560" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.381283" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.382015" 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-08-18T20:12:37.381734" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.382471" 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-08-18T20:12:37.382208" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.383388" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.382643" elapsed="0.000776"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.383909" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.383570" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.384410" 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-08-18T20:12:37.384098" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.384931" 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-08-18T20:12:37.384597" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.385424" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.385117" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.385939" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.385613" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.386484" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a49a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.386164" 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-08-18T20:12:37.379885" elapsed="0.006731"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.387152" 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-08-18T20:12:37.386776" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.387560" level="INFO">&lt;?xml version="1.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-08-18T20:12:37.387326" elapsed="0.000290"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.395197" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.394906" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.399552" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.399668" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.399783" 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-08-18T20:12:37.395350" elapsed="0.004459"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.400212" 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-08-18T20:12:37.399966" elapsed="0.000290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.402371" 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-08-18T20:12:37.400396" 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-08-18T20:12:37.404917" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.402489" elapsed="0.002520"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.402471" elapsed="0.002571"/>
</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-08-18T20:12:37.405234" 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-08-18T20:12:37.405539" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.405358" elapsed="0.000251"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.405336" elapsed="0.000304"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.405683" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:37.407949" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.408010" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.394580" elapsed="0.013461"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.410973" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.408808" elapsed="0.002210"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.408782" elapsed="0.002258"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.411572" 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-08-18T20:12:37.411182" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.412121" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.411775" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.412229" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:37.412408" 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-08-18T20:12:37.408328" elapsed="0.004105"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.412585" 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-08-18T20:12:37.394009" elapsed="0.019035"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.420793" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.420480" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.425885" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.426003" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.426097" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.420948" elapsed="0.005174"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.426843" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.426307" elapsed="0.000601"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.429843" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.427106" elapsed="0.002807"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.432418" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.430008" elapsed="0.002479"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.429982" elapsed="0.002536"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.435828" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.435875" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.432705" elapsed="0.003193"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.437708" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.435976" elapsed="0.001803"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.435957" elapsed="0.001847"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.437837" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.438029" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.438072" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.420113" elapsed="0.017981"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.440254" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.438645" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.438628" elapsed="0.001694"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.440875" 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-08-18T20:12:37.440464" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.441407" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.441062" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.441482" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.441658" 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-08-18T20:12:37.438320" elapsed="0.003363"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.441852" 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-08-18T20:12:37.419422" elapsed="0.022939"/>
</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-08-18T20:12:37.376630" elapsed="0.065787"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.369576" elapsed="0.072952"/>
</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-08-18T20:12:37.453460" 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-08-18T20:12:37.453601" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.453327" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.454212" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a51c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.453796" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.454684" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.454410" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.455141" 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-08-18T20:12:37.454875" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.455577" 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-08-18T20:12:37.455314" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.456608" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.455764" elapsed="0.000875"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.457135" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.456811" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.457643" 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-08-18T20:12:37.457328" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.458169" 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-08-18T20:12:37.457847" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.458693" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.458385" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.459218" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.458903" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.459722" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a51c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.459409" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:37.453002" elapsed="0.006836"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.460362" 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-08-18T20:12:37.459984" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.460798" level="INFO">&lt;?xml version="1.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-08-18T20:12:37.460540" 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-08-18T20:12:37.468641" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.468348" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.473736" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.473869" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.473964" 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-08-18T20:12:37.468813" elapsed="0.005176"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.474425" 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-08-18T20:12:37.474146" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.477411" 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-08-18T20:12:37.474625" elapsed="0.002856"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:37.480020" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.477577" elapsed="0.002535"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.477551" elapsed="0.002594"/>
</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-08-18T20:12:37.480336" 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-08-18T20:12:37.480644" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.480461" elapsed="0.000255"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.480438" elapsed="0.000330"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.480817" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:37.483096" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.483140" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.468036" elapsed="0.015126"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.485284" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.483696" elapsed="0.001633"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.483678" elapsed="0.001673"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.485906" 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-08-18T20:12:37.485494" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.486454" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.486092" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.486529" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.486708" 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-08-18T20:12:37.483367" elapsed="0.003366"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.486904" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.467475" elapsed="0.019872"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.495004" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.494696" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.500224" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.500432" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.500581" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.495155" elapsed="0.005462"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.501213" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.500864" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.504216" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.501467" elapsed="0.002820"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.506844" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.504389" elapsed="0.002524"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.504363" elapsed="0.002581"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.510843" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.510907" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.507133" elapsed="0.003806"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.513406" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.511045" elapsed="0.002439"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.511019" elapsed="0.002498"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.513563" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:37.513853" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.513913" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.494325" elapsed="0.019620"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.516344" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.514769" elapsed="0.001620"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.514731" elapsed="0.001680"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.516969" 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-08-18T20:12:37.516558" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.517499" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.517153" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.517574" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.517765" 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-08-18T20:12:37.514239" elapsed="0.003553"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.517945" elapsed="0.000379"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.493703" elapsed="0.024697"/>
</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-08-18T20:12:37.449679" elapsed="0.068779"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.442787" elapsed="0.075777"/>
</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-08-18T20:12:37.529363" 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-08-18T20:12:37.529490" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.529228" elapsed="0.000291"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.530084" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cecf40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.529665" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.530601" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.530259" elapsed="0.000371"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.531069" 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-08-18T20:12:37.530797" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.531510" 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-08-18T20:12:37.531243" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.532548" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.531687" elapsed="0.000892"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.533073" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.532733" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.533578" 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-08-18T20:12:37.533264" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.534099" 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-08-18T20:12:37.533780" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.534622" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.534286" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.535140" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.534827" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.535642" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cecf40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.535331" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:37.528904" elapsed="0.006833"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.536280" 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-08-18T20:12:37.535903" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.536691" level="INFO">&lt;?xml version="1.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-08-18T20:12:37.536456" 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-08-18T20:12:37.544345" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.544055" elapsed="0.000316"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.549803" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.549923" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.550052" 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-08-18T20:12:37.544497" elapsed="0.005581"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.550501" 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-08-18T20:12:37.550235" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.552644" 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-08-18T20:12:37.550690" elapsed="0.002004"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:37.554513" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.552778" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.552758" elapsed="0.001855"/>
</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-08-18T20:12:37.554766" 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-08-18T20:12:37.554989" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.554859" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.554843" elapsed="0.000220"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.555094" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:12:37.556683" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.556727" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.543731" elapsed="0.013033"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.558955" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.557298" elapsed="0.001736"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.557281" elapsed="0.001785"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.559832" 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-08-18T20:12:37.559263" elapsed="0.000606"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.560565" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.560087" elapsed="0.000513"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.560668" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:37.560935" 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-08-18T20:12:37.556974" elapsed="0.003996"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.561184" elapsed="0.000527"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.543191" elapsed="0.018631"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.571148" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.570855" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.575327" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.575440" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.575543" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.571299" elapsed="0.004269"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.576190" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.575844" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.579326" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.576444" elapsed="0.003003"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.581977" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.579545" elapsed="0.002500"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.579519" elapsed="0.002556"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.585932" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.585996" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.582262" elapsed="0.003766"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.588331" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.586132" elapsed="0.002255"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.586106" elapsed="0.002304"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.588443" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:37.588634" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.588677" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.570472" elapsed="0.018227"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.590827" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.589251" elapsed="0.001621"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.589233" elapsed="0.001660"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.591431" 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-08-18T20:12:37.591035" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.591989" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.591618" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.592064" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:37.592242" 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-08-18T20:12:37.588924" elapsed="0.003343"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.592419" 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-08-18T20:12:37.569856" elapsed="0.023022"/>
</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-08-18T20:12:37.525666" elapsed="0.067269"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.518819" elapsed="0.074222"/>
</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-08-18T20:12:37.603904" 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-08-18T20:12:37.604032" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.603767" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.604619" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0590&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.604212" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.605083" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.604810" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.605521" 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-08-18T20:12:37.605255" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.605974" 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-08-18T20:12:37.605691" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.606874" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.606144" elapsed="0.000761"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.607388" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.607057" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.607957" 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-08-18T20:12:37.607619" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.608468" 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-08-18T20:12:37.608146" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.608983" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.608655" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.609551" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.609172" elapsed="0.000425"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.610104" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0590&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.609766" 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-08-18T20:12:37.603429" elapsed="0.006776"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.610794" 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-08-18T20:12:37.610356" elapsed="0.000471"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.611218" level="INFO">&lt;?xml version="1.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-08-18T20:12:37.610978" 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-08-18T20:12:37.618946" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.618632" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.624030" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.624149" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.624255" 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-08-18T20:12:37.619099" elapsed="0.005182"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.624693" 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-08-18T20:12:37.624439" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.626877" 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-08-18T20:12:37.624895" 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-08-18T20:12:37.629230" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.626997" elapsed="0.002383"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.626979" elapsed="0.002437"/>
</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-08-18T20:12:37.629610" 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-08-18T20:12:37.629943" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.629737" elapsed="0.000278"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.629715" elapsed="0.000332"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.630092" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:37.632343" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.632404" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.618300" 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-08-18T20:12:37.635482" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.633206" elapsed="0.002338"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.633181" elapsed="0.002393"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.636346" 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-08-18T20:12:37.635794" elapsed="0.000588"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.637105" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.636601" elapsed="0.000540"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.637210" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:37.637457" 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-08-18T20:12:37.632729" elapsed="0.004763"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.637707" 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-08-18T20:12:37.617754" elapsed="0.020590"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.646437" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.646146" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.651287" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.651400" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.651494" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.646588" elapsed="0.004932"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.651945" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.651675" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.654069" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.652126" elapsed="0.001993"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.656077" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.654187" elapsed="0.001956"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.654168" elapsed="0.002005"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.660084" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.660147" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.656367" elapsed="0.003812"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.662943" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.660284" elapsed="0.002738"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.660259" elapsed="0.002848"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.663159" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:37.663425" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.663484" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.645776" elapsed="0.017739"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.665651" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.664096" elapsed="0.001599"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.664079" elapsed="0.001637"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.666271" 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-08-18T20:12:37.665875" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.666839" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.666456" elapsed="0.000409"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.666916" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.667091" 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-08-18T20:12:37.663767" elapsed="0.003350"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.667269" elapsed="0.000378"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.645161" elapsed="0.022549"/>
</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-08-18T20:12:37.600215" elapsed="0.067569"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.593279" elapsed="0.074616"/>
</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-08-18T20:12:37.678555" 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-08-18T20:12:37.678709" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.678421" elapsed="0.000318"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.679290" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3b50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.678905" elapsed="0.000413"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.679737" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.679466" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.680192" 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-08-18T20:12:37.679927" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.680630" 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-08-18T20:12:37.680367" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.681346" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.680816" elapsed="0.000560"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.681869" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.681530" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.682376" 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-08-18T20:12:37.682061" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.682917" 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-08-18T20:12:37.682564" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.683415" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.683108" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.683981" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.683608" elapsed="0.000419"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.684491" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3b50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.684176" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:37.678098" elapsed="0.006488"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.685120" 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-08-18T20:12:37.684729" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.685532" level="INFO">&lt;?xml version="1.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-08-18T20:12:37.685295" elapsed="0.000292"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.693374" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.693082" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.697837" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.697950" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.698047" 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-08-18T20:12:37.693529" elapsed="0.004543"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.698478" 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-08-18T20:12:37.698229" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.700629" 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-08-18T20:12:37.698663" elapsed="0.002017"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:37.702477" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.700763" elapsed="0.001780"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.700730" elapsed="0.001837"/>
</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-08-18T20:12:37.702704" elapsed="0.000060"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.702970" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.702836" elapsed="0.000184"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.702819" elapsed="0.000224"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.703075" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:12:37.705143" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.705205" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.692770" elapsed="0.012466"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.708304" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.705995" elapsed="0.002378"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.705970" elapsed="0.002432"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.709226" 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-08-18T20:12:37.708602" elapsed="0.000661"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.709992" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.709483" elapsed="0.000545"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.710098" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:37.710344" 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-08-18T20:12:37.705522" elapsed="0.004857"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.710592" elapsed="0.000594"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.692179" elapsed="0.019095"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.719071" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.718773" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.724152" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.724264" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.724358" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.719224" elapsed="0.005159"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.724813" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.724540" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.728657" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.724996" elapsed="0.003733"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.731343" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.728851" elapsed="0.002562"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.728824" elapsed="0.002621"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.735172" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.735236" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.731635" elapsed="0.003632"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.737237" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.735375" elapsed="0.001918"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.735349" elapsed="0.001968"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.737351" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:37.737542" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.737585" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.718375" elapsed="0.019232"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.739794" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.738163" elapsed="0.001741"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.738145" elapsed="0.001787"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.740476" 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-08-18T20:12:37.740078" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.741029" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.740660" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.741141" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:37.741323" 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-08-18T20:12:37.737834" 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-08-18T20:12:37.741504" 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-08-18T20:12:37.717782" elapsed="0.024192"/>
</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-08-18T20:12:37.674913" elapsed="0.067116"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.668134" elapsed="0.074003"/>
</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-08-18T20:12:37.753070" 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-08-18T20:12:37.753199" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.752935" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.753803" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911da0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.753380" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.754258" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.753980" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.754698" 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-08-18T20:12:37.754431" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.755166" 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-08-18T20:12:37.754897" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.756238" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.755339" elapsed="0.000931"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.756766" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.756424" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.757281" 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-08-18T20:12:37.756962" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.757818" 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-08-18T20:12:37.757473" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.758322" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:37.758010" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.758871" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:37.758515" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.759388" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911da0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.759073" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:37.752595" elapsed="0.006888"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.760023" 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-08-18T20:12:37.759628" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.760440" level="INFO">&lt;?xml version="1.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-08-18T20:12:37.760200" elapsed="0.000343"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.768362" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.768069" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.775870" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.775985" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.776081" 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-08-18T20:12:37.768515" elapsed="0.007591"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.776509" 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-08-18T20:12:37.776261" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.779544" 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-08-18T20:12:37.776782" elapsed="0.002834"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:37.782194" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.779715" elapsed="0.002572"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.779690" 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-08-18T20:12:37.782512" 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-08-18T20:12:37.782895" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.782678" elapsed="0.000292"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.782654" elapsed="0.000349"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.783048" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:37.785285" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.785347" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.767756" elapsed="0.017621"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.788202" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.786141" elapsed="0.002105"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.786117" elapsed="0.002151"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.788818" 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-08-18T20:12:37.788410" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.789347" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.789002" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.789422" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.789597" 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-08-18T20:12:37.785666" elapsed="0.003956"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.789795" 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-08-18T20:12:37.767197" elapsed="0.023042"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.797875" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.797568" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.804163" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.804380" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.804516" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.798034" elapsed="0.006516"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.805152" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.804802" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.808388" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.805409" elapsed="0.003050"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.811022" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.808556" elapsed="0.002535"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.808530" elapsed="0.002592"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.814056" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.814101" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.811314" elapsed="0.002810"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.815912" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.814201" elapsed="0.001767"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.814182" elapsed="0.001809"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.816025" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:37.816214" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.816256" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.797197" elapsed="0.019081"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.818367" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.816824" elapsed="0.001588"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.816806" elapsed="0.001628"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.819006" 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-08-18T20:12:37.818575" elapsed="0.000459"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.819543" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.819194" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.819618" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.819812" 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-08-18T20:12:37.816485" elapsed="0.003353"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.819990" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.796578" elapsed="0.023855"/>
</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-08-18T20:12:37.749287" elapsed="0.071200"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.742373" elapsed="0.078220"/>
</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-08-18T20:12:37.831260" 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-08-18T20:12:37.831385" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:37.831125" elapsed="0.000289"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.831960" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1c10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.831561" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.832449" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.832134" elapsed="0.000341"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.832913" 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-08-18T20:12:37.832625" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.833354" 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-08-18T20:12:37.833086" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.834321" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:37.833525" elapsed="0.000826"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.834849" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.834505" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.835385" 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-08-18T20:12:37.835066" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.835911" 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-08-18T20:12:37.835576" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.836405" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:37.836100" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.837009" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:37.836675" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.837519" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1c10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.837208" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:37.830790" elapsed="0.006826"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.838158" 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-08-18T20:12:37.837780" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.838569" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:37.838334" elapsed="0.000292"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.846253" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.845961" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.851251" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.851463" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.851652" 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-08-18T20:12:37.846405" elapsed="0.005368"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.852346" 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-08-18T20:12:37.851999" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.855332" 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-08-18T20:12:37.852605" elapsed="0.002797"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:37.857896" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.855498" elapsed="0.002489"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.855472" elapsed="0.002548"/>
</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-08-18T20:12:37.858213" 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-08-18T20:12:37.858520" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.858338" elapsed="0.000252"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.858316" elapsed="0.000306"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.858666" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:37.860651" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.860696" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.845631" elapsed="0.015087"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.862831" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.861270" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.861252" elapsed="0.001647"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.863444" 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-08-18T20:12:37.863040" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.863987" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.863627" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.864061" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:37.864237" 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-08-18T20:12:37.860943" elapsed="0.003319"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.864414" 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-08-18T20:12:37.845001" elapsed="0.019867"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.872471" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.872181" elapsed="0.000316"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.877365" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.877476" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.877571" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.872623" elapsed="0.004979"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.878235" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.877887" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.881562" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.878490" elapsed="0.003193"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.884292" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.881803" elapsed="0.002558"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.881775" elapsed="0.002617"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.888092" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.888138" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.884581" elapsed="0.003580"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.889915" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.888238" elapsed="0.001732"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.888219" elapsed="0.001775"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.890028" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:37.890219" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.890261" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.871809" elapsed="0.018474"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.892397" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.890836" elapsed="0.001605"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.890818" elapsed="0.001645"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.893013" 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-08-18T20:12:37.892604" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.893543" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.893197" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.893617" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.893811" 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-08-18T20:12:37.890491" elapsed="0.003345"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.893989" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:37.871191" elapsed="0.023240"/>
</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-08-18T20:12:37.827581" elapsed="0.066907"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.820846" elapsed="0.073747"/>
</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-08-18T20:12:37.905288" 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-08-18T20:12:37.905413" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:37.905154" elapsed="0.000288"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.905988" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2660&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.905590" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.906433" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.906163" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.906888" 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-08-18T20:12:37.906606" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.907342" 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-08-18T20:12:37.907061" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.908278" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:37.907513" elapsed="0.000796"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.908800" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.908462" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.909354" 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-08-18T20:12:37.909032" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.909881" 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-08-18T20:12:37.909544" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.910379" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:37.910071" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.910898" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:37.910570" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.911427" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2660&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.911088" 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-08-18T20:12:37.904830" elapsed="0.006694"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.912060" 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-08-18T20:12:37.911668" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.912472" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:37.912236" elapsed="0.000293"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.920135" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.919844" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.925907" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.926020" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.926116" 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-08-18T20:12:37.920289" elapsed="0.005851"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.926543" 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-08-18T20:12:37.926296" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.929182" 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-08-18T20:12:37.926732" elapsed="0.002519"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:37.931792" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:37.929347" elapsed="0.002539"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.929320" elapsed="0.002599"/>
</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-08-18T20:12:37.932111" 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-08-18T20:12:37.932414" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.932234" elapsed="0.000295"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:37.932212" elapsed="0.000351"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.932609" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:37.934853" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:37.934915" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.919515" elapsed="0.015431"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.937358" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.935727" elapsed="0.001676"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.935697" elapsed="0.001728"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.937975" 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-08-18T20:12:37.937566" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.938502" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.938158" elapsed="0.000369"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.938576" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:37.938777" 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-08-18T20:12:37.935265" elapsed="0.003539"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.938956" 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-08-18T20:12:37.918945" elapsed="0.020464"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.947016" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.946709" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.951921" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.952096" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:37.952229" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:37.947169" elapsed="0.005094"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.952853" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:37.952481" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.956098" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:37.953109" elapsed="0.003059"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.958674" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.956262" elapsed="0.002501"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.956236" elapsed="0.002561"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.961711" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:37.961772" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:37.958989" elapsed="0.002807"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:37.963548" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:37.961870" elapsed="0.001733"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.961852" elapsed="0.001777"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:37.963664" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:37.963868" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:37.963911" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:37.946345" elapsed="0.017588"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:37.966069" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:37.964502" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:37.964484" elapsed="0.001650"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.966670" 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-08-18T20:12:37.966277" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.967216" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:37.966871" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:37.967321" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:37.967502" 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-08-18T20:12:37.964179" elapsed="0.003348"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:37.967680" 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-08-18T20:12:37.945734" elapsed="0.022406"/>
</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-08-18T20:12:37.901608" elapsed="0.066587"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.894844" elapsed="0.073456"/>
</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-08-18T20:12:37.979032" 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-08-18T20:12:37.979159" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:37.978897" elapsed="0.000291"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:37.979737" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3fb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:37.979349" elapsed="0.000430"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.980200" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:37.979929" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.980638" 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-08-18T20:12:37.980374" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:37.981091" 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-08-18T20:12:37.980824" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:37.982043" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:37.981261" elapsed="0.000813"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.982550" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.982227" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.983073" 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-08-18T20:12:37.982740" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.983615" 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-08-18T20:12:37.983260" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.984131" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:37.983821" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.984633" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:37.984324" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.985152" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3fb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:37.984840" 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-08-18T20:12:37.978560" elapsed="0.006725"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.985821" 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-08-18T20:12:37.985429" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.986233" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:37.985997" elapsed="0.000293"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.993856" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:37.993548" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:37.998324" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:37.998439" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:37.998536" 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-08-18T20:12:37.994009" elapsed="0.004552"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:37.998988" 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-08-18T20:12:37.998718" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.001817" 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-08-18T20:12:37.999173" elapsed="0.002716"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.004396" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.001986" elapsed="0.002502"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.001960" elapsed="0.002561"/>
</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-08-18T20:12:38.004718" elapsed="0.000049"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.005046" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.004865" elapsed="0.000252"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.004842" elapsed="0.000306"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.005192" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:38.007458" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.007524" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:37.993242" elapsed="0.014314"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.009722" elapsed="0.000034"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.008160" elapsed="0.001632"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.008143" elapsed="0.001672"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.010361" 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-08-18T20:12:38.009961" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.010953" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.010580" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.011029" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.011205" 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-08-18T20:12:38.007836" elapsed="0.003394"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.011394" 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-08-18T20:12:37.992690" elapsed="0.019167"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.019491" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.019178" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.023904" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.024017" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.024114" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.019645" elapsed="0.004494"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.024545" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.024297" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.027826" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.024846" 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-08-18T20:12:38.030412" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.027994" elapsed="0.002486"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.027968" elapsed="0.002542"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.034157" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.034219" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.030700" elapsed="0.003551"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.036559" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.034356" elapsed="0.002258"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.034330" elapsed="0.002307"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.036671" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:38.036878" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.036921" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.018809" elapsed="0.018135"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.039054" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.037475" elapsed="0.001624"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.037457" elapsed="0.001663"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.039666" 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-08-18T20:12:38.039262" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.040213" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.039865" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.040287" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:38.040463" 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-08-18T20:12:38.037151" elapsed="0.003337"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.040686" 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-08-18T20:12:38.018196" elapsed="0.022955"/>
</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-08-18T20:12:37.975384" elapsed="0.065821"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:37.968535" elapsed="0.072779"/>
</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-08-18T20:12:38.052013" 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-08-18T20:12:38.052210" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:38.051879" elapsed="0.000361"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.052827" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5490&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.052393" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.053278" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.053006" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.053717" 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-08-18T20:12:38.053453" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.054176" 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-08-18T20:12:38.053908" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.055192" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:38.054346" elapsed="0.000877"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.055721" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.055377" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.056246" 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-08-18T20:12:38.055929" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.056773" 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-08-18T20:12:38.056435" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.057272" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:38.056964" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.057798" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:38.057463" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.058422" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5490&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.058103" 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-08-18T20:12:38.051539" elapsed="0.006977"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.059066" 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-08-18T20:12:38.058665" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.059516" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:38.059244" elapsed="0.000369"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.067223" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.066929" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.071583" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.071697" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.071811" 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-08-18T20:12:38.067376" elapsed="0.004461"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.072243" 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-08-18T20:12:38.071994" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.074384" 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-08-18T20:12:38.072441" elapsed="0.001993"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.076233" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.074504" elapsed="0.001795"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.074485" elapsed="0.001838"/>
</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-08-18T20:12:38.076460" 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-08-18T20:12:38.076732" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.076550" elapsed="0.000295"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.076534" elapsed="0.000346"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.076925" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:38.079137" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.079198" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.066602" elapsed="0.012627"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.082177" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.080010" elapsed="0.002229"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.079985" elapsed="0.002284"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.083035" 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-08-18T20:12:38.082467" elapsed="0.000604"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.083832" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.083291" elapsed="0.000577"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.083937" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:38.084183" 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-08-18T20:12:38.079529" elapsed="0.004688"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.084429" elapsed="0.000524"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:38.066047" elapsed="0.018969"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.092628" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.092336" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.097102" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.097252" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.097348" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.092797" elapsed="0.004576"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.097803" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.097528" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.100128" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.097987" 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-08-18T20:12:38.102569" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.100248" elapsed="0.002389"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.100229" elapsed="0.002439"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.106346" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.106410" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.102876" elapsed="0.003568"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.108934" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.106551" elapsed="0.002440"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.106525" elapsed="0.002490"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.109049" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:38.109241" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.109283" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.091965" elapsed="0.017340"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.111413" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.109865" elapsed="0.001594"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.109848" elapsed="0.001633"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.112056" 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-08-18T20:12:38.111636" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.112590" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.112243" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.112666" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:38.112858" 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-08-18T20:12:38.109518" elapsed="0.003366"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.113038" elapsed="0.000376"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:38.091324" elapsed="0.022153"/>
</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-08-18T20:12:38.048318" elapsed="0.065215"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.041550" elapsed="0.072090"/>
</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-08-18T20:12:38.124332" 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-08-18T20:12:38.124473" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:38.124199" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.125051" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a77e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.124651" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.125543" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.125227" elapsed="0.000343"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.126006" 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-08-18T20:12:38.125720" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.126449" 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-08-18T20:12:38.126182" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.127396" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:38.126621" elapsed="0.000806"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.127945" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.127584" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.128458" 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-08-18T20:12:38.128141" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.128988" 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-08-18T20:12:38.128650" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.129481" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:38.129177" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.130000" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:38.129671" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.130502" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a77e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.130192" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:38.123876" elapsed="0.006721"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.131137" 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-08-18T20:12:38.130761" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.131552" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:38.131315" 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-08-18T20:12:38.139157" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.138866" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.144790" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.144906" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.145001" 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-08-18T20:12:38.139309" elapsed="0.005717"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.145519" 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-08-18T20:12:38.145252" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.147725" 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-08-18T20:12:38.145703" 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-08-18T20:12:38.152939" elapsed="0.000063"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.147864" elapsed="0.005217"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.147845" elapsed="0.005288"/>
</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-08-18T20:12:38.153383" 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-08-18T20:12:38.153841" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.153570" elapsed="0.000383"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.153538" elapsed="0.000465"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.154070" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:38.159354" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.159417" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.138535" elapsed="0.020914"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.161771" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.160212" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.160193" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.164473" 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-08-18T20:12:38.163434" elapsed="0.001067"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.165025" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.164659" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.165101" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.165278" 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-08-18T20:12:38.159803" elapsed="0.005500"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.165455" 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-08-18T20:12:38.137992" elapsed="0.027952"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.177930" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.177609" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.184946" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.187137" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.187251" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.178086" elapsed="0.009192"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.187695" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.187440" elapsed="0.000347"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.190511" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.187930" elapsed="0.002728"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.193445" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.190785" elapsed="0.002735"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.190735" elapsed="0.002818"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.197215" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.197261" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.193775" elapsed="0.003508"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.199034" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.197357" elapsed="0.001731"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.197339" elapsed="0.001773"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.199145" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:38.199341" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.199383" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.177237" elapsed="0.022168"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.201535" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.199993" elapsed="0.001586"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.199975" elapsed="0.001626"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.202155" 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-08-18T20:12:38.201757" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.202685" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.202337" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.202774" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.202952" 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-08-18T20:12:38.199627" elapsed="0.003350"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.203127" 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-08-18T20:12:38.174234" elapsed="0.029340"/>
</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-08-18T20:12:38.120674" elapsed="0.082958"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.113890" elapsed="0.089895"/>
</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-08-18T20:12:38.214557" 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-08-18T20:12:38.214712" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.214416" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.215321" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7100&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.214906" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.215808" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.215495" elapsed="0.000341"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.216249" 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-08-18T20:12:38.215984" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.216680" 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-08-18T20:12:38.216418" elapsed="0.000287"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.217735" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.216864" elapsed="0.000917"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.218259" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.217935" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.218856" 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-08-18T20:12:38.218523" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.219364" 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-08-18T20:12:38.219047" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.219907" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.219551" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.220418" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.220104" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.220944" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7100&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.220611" 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-08-18T20:12:38.214090" elapsed="0.006951"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.221565" 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-08-18T20:12:38.221187" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.222003" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.221762" 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-08-18T20:12:38.229678" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.229380" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.235330" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.235460" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.235557" 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-08-18T20:12:38.229848" elapsed="0.005735"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.236056" 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-08-18T20:12:38.235768" elapsed="0.000334"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.238822" 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-08-18T20:12:38.236244" elapsed="0.002649"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.241418" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.238993" elapsed="0.002570"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.238964" 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-08-18T20:12:38.241818" 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-08-18T20:12:38.242133" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.241948" elapsed="0.000257"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.241924" elapsed="0.000314"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.242284" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:38.244564" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.244628" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.229071" elapsed="0.015582"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.246771" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.245207" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.245189" elapsed="0.001651"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.247378" 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-08-18T20:12:38.246984" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.247945" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.247563" elapsed="0.000408"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.248021" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:38.248199" 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-08-18T20:12:38.244879" elapsed="0.003345"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.248378" 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-08-18T20:12:38.228501" elapsed="0.020341"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.257666" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.257312" elapsed="0.000383"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.263200" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.263340" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.263450" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.257864" elapsed="0.005611"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.263958" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.263643" elapsed="0.000361"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.266077" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.264143" elapsed="0.001984"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.267958" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.266202" elapsed="0.001808"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.266181" elapsed="0.001852"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.270901" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.270947" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.268169" elapsed="0.002801"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.272839" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.271045" elapsed="0.001873"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.271027" elapsed="0.001923"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.273071" elapsed="0.000045"/>
</return>
<msg time="2026-08-18T20:12:38.273349" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.273409" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.256873" elapsed="0.016567"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.276484" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.274211" elapsed="0.002337"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.274186" elapsed="0.002392"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.277151" 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-08-18T20:12:38.276733" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.277682" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.277336" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.277774" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:38.277954" 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-08-18T20:12:38.273736" elapsed="0.004243"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.278134" 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-08-18T20:12:38.256016" elapsed="0.022568"/>
</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-08-18T20:12:38.210849" elapsed="0.067792"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.204085" elapsed="0.074698"/>
</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-08-18T20:12:38.289683" 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-08-18T20:12:38.290051" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.289540" elapsed="0.000540"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.290658" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896ba020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.290229" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.291130" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.290850" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.291568" 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-08-18T20:12:38.291304" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.292054" 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-08-18T20:12:38.291738" elapsed="0.000342"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.293159" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.292226" elapsed="0.000964"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.293700" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.293345" elapsed="0.000417"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.294239" 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-08-18T20:12:38.293920" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.294764" 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-08-18T20:12:38.294428" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.295260" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.294953" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.295778" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.295452" elapsed="0.000410"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.296375" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896ba020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.296042" 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-08-18T20:12:38.289213" elapsed="0.007259"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.297013" 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-08-18T20:12:38.296620" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.297427" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.297190" 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-08-18T20:12:38.305041" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.304728" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.310933" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.311058" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.311157" 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-08-18T20:12:38.305194" elapsed="0.005988"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.311591" 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-08-18T20:12:38.311340" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.313792" 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-08-18T20:12:38.311798" elapsed="0.002046"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.315617" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.313915" elapsed="0.001769"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.313896" elapsed="0.001812"/>
</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-08-18T20:12:38.315889" 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-08-18T20:12:38.316171" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.316034" elapsed="0.000190"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.315985" elapsed="0.000262"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.316280" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:12:38.318523" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.318585" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.304419" elapsed="0.014198"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.321675" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.319444" elapsed="0.002296"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.319418" elapsed="0.002375"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.322565" 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-08-18T20:12:38.322001" elapsed="0.000602"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.323341" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.322848" elapsed="0.000530"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.323448" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:12:38.323706" 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-08-18T20:12:38.318980" elapsed="0.004780"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.323980" elapsed="0.000656"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:38.303849" elapsed="0.020890"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.332518" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.332223" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.338324" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.338600" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.338887" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.332669" elapsed="0.006278"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.339930" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.339305" elapsed="0.000730"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.344965" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.340393" elapsed="0.004687"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.348894" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.345235" elapsed="0.003710"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.345194" elapsed="0.003773"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.351734" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.351798" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.349106" elapsed="0.002716"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.353645" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.351900" elapsed="0.001828"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.351881" elapsed="0.001891"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.353809" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:38.354009" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.354052" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.331838" elapsed="0.022237"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.356246" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.354621" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.354603" elapsed="0.001712"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.358954" 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-08-18T20:12:38.358040" elapsed="0.000942"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.359559" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.359197" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.359636" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.359834" 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-08-18T20:12:38.354289" elapsed="0.005571"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.360014" 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-08-18T20:12:38.331218" elapsed="0.029291"/>
</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-08-18T20:12:38.286008" elapsed="0.074558"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.279085" elapsed="0.081593"/>
</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-08-18T20:12:38.373685" 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-08-18T20:12:38.373867" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.373535" elapsed="0.000363"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.374479" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0b80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.374050" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.374974" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.374671" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.375419" 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-08-18T20:12:38.375149" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.375910" 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-08-18T20:12:38.375612" elapsed="0.000822"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.378849" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.378067" elapsed="0.000814"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.379381" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.379045" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.379920" 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-08-18T20:12:38.379578" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.380481" 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-08-18T20:12:38.380147" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.381006" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.380675" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.381537" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.381216" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.382066" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0b80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.381731" 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-08-18T20:12:38.373190" elapsed="0.008989"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.382720" 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-08-18T20:12:38.382329" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.383219" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.382959" 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-08-18T20:12:38.390979" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.390661" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.395498" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.395629" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.395737" 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-08-18T20:12:38.391133" elapsed="0.004649"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.396219" 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-08-18T20:12:38.395944" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.399285" 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-08-18T20:12:38.396409" elapsed="0.002947"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.401905" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.399455" elapsed="0.002547"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.399428" elapsed="0.002608"/>
</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-08-18T20:12:38.402229" 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-08-18T20:12:38.402535" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.402355" elapsed="0.000250"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.402332" elapsed="0.000304"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.402680" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:38.404950" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.405011" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.390350" elapsed="0.014692"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.407979" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.405804" elapsed="0.002237"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.405778" elapsed="0.002295"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.408860" 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-08-18T20:12:38.408287" elapsed="0.000610"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.409603" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.409116" elapsed="0.000523"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.409774" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:12:38.410030" 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-08-18T20:12:38.405332" elapsed="0.004733"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.410280" 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-08-18T20:12:38.389789" elapsed="0.021139"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.419885" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.419521" elapsed="0.000394"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.425109" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.425230" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.425326" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.420053" elapsed="0.005299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.425780" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.425512" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.427917" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.425966" elapsed="0.002002"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.430376" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.428038" elapsed="0.002411"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.428018" elapsed="0.002464"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.434683" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.434771" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.430681" elapsed="0.004126"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.437347" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.434920" elapsed="0.002483"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.434894" elapsed="0.002533"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.437461" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.437653" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.437695" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.419088" 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-08-18T20:12:38.439832" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.438270" elapsed="0.001607"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.438252" elapsed="0.001647"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.440452" 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-08-18T20:12:38.440043" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.441000" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.440636" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.441075" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:38.441249" 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-08-18T20:12:38.437943" elapsed="0.003331"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.441426" 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-08-18T20:12:38.418342" elapsed="0.023593"/>
</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-08-18T20:12:38.369724" elapsed="0.072268"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.360874" elapsed="0.081239"/>
</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-08-18T20:12:38.452880" 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-08-18T20:12:38.453023" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.452725" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.453618" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913330&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.453202" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.454087" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.453809" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.454525" 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-08-18T20:12:38.454260" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.454983" 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-08-18T20:12:38.454697" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.455879" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.455158" elapsed="0.000752"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.456411" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.456062" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.456936" 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-08-18T20:12:38.456604" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.457442" 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-08-18T20:12:38.457124" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.457950" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.457627" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.458453" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.458141" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.458977" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913330&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.458645" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:38.452399" elapsed="0.006672"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.459594" 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-08-18T20:12:38.459216" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.460025" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.459786" 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-08-18T20:12:38.467869" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.467554" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.472156" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.472278" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.472405" 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-08-18T20:12:38.468023" elapsed="0.004409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.472868" 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-08-18T20:12:38.472590" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.475025" 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-08-18T20:12:38.473062" elapsed="0.002013"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.476993" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.475146" elapsed="0.001942"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.475127" elapsed="0.001995"/>
</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-08-18T20:12:38.477314" 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-08-18T20:12:38.477625" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.477441" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.477419" elapsed="0.000308"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.477791" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:38.480082" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.480145" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.467243" elapsed="0.012934"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.483159" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.480986" elapsed="0.002235"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.480961" elapsed="0.002290"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.484021" 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-08-18T20:12:38.483452" elapsed="0.000605"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.484762" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.484278" elapsed="0.000511"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.484839" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:38.485014" 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-08-18T20:12:38.480510" elapsed="0.004529"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.485193" 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-08-18T20:12:38.466679" elapsed="0.018956"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.493258" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.492965" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.497379" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.497528" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.497628" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.493410" elapsed="0.004245"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.498082" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.497832" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.500406" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.498265" elapsed="0.002195"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.502934" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.500530" elapsed="0.002472"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.500511" elapsed="0.002522"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.506925" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.506989" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.503223" 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-08-18T20:12:38.509243" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.507125" elapsed="0.002173"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.507100" elapsed="0.002222"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.509356" elapsed="0.000026"/>
</return>
<msg time="2026-08-18T20:12:38.509544" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.509587" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.492578" elapsed="0.017034"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.511709" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.510164" elapsed="0.001603"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.510146" elapsed="0.001644"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.512327" 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-08-18T20:12:38.511934" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.512908" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.512537" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.512984" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:38.513159" 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-08-18T20:12:38.509839" elapsed="0.003344"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.513337" elapsed="0.000379"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:38.491957" elapsed="0.021839"/>
</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-08-18T20:12:38.449194" elapsed="0.064658"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.442389" elapsed="0.071573"/>
</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-08-18T20:12:38.524671" 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-08-18T20:12:38.524819" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.524526" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.525407" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8ef0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.524998" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.525912" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.525618" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.526355" 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-08-18T20:12:38.526089" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.526811" 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-08-18T20:12:38.526529" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.527877" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.526986" elapsed="0.000922"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.528391" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.528064" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.528951" 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-08-18T20:12:38.528618" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.529459" 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-08-18T20:12:38.529141" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.529972" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.529647" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.530476" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.530163" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.530998" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8ef0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.530667" 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-08-18T20:12:38.524153" elapsed="0.006940"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.531612" 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-08-18T20:12:38.531237" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.532041" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.531803" 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-08-18T20:12:38.539624" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.539331" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.543549" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.543671" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.543822" 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-08-18T20:12:38.539791" elapsed="0.004058"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.544260" 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-08-18T20:12:38.544010" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.546478" 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-08-18T20:12:38.544473" elapsed="0.002056"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.548363" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.546599" elapsed="0.001832"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.546580" 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-08-18T20:12:38.548620" 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-08-18T20:12:38.548859" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.548710" elapsed="0.000202"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.548695" elapsed="0.000240"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.548967" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:12:38.551063" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.551126" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.539020" elapsed="0.012138"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.554186" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.551941" elapsed="0.002309"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.551916" elapsed="0.002365"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.555061" 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-08-18T20:12:38.554481" elapsed="0.000617"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.555886" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.555319" elapsed="0.000605"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.555993" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:12:38.556243" 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-08-18T20:12:38.551445" elapsed="0.004833"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.556529" 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-08-18T20:12:38.538458" elapsed="0.018732"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.565246" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.564951" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.575645" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.575933" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.576174" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.565400" elapsed="0.010831"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.577260" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.576656" elapsed="0.000708"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.582062" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.577697" elapsed="0.004499"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.584778" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.582296" elapsed="0.002553"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.582269" elapsed="0.002611"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.589001" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.589065" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.585069" elapsed="0.004027"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.591060" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.589204" elapsed="0.001912"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.589178" elapsed="0.001961"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.591173" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:38.591363" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.591405" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.564562" elapsed="0.026865"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.593590" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.591981" elapsed="0.001656"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.591963" elapsed="0.001695"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.594218" 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-08-18T20:12:38.593817" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.594764" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.594403" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.594841" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.595018" 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-08-18T20:12:38.591636" elapsed="0.003407"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.595201" elapsed="0.000379"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:38.563937" elapsed="0.031704"/>
</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-08-18T20:12:38.520959" elapsed="0.074738"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.514205" elapsed="0.081616"/>
</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-08-18T20:12:38.608985" 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-08-18T20:12:38.609114" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.608849" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.609698" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8f40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.609291" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.610162" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.609889" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.610601" 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-08-18T20:12:38.610336" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.611054" 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-08-18T20:12:38.610788" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.613669" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.611224" elapsed="0.002477"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.614199" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.613871" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.614777" 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-08-18T20:12:38.614431" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.615301" 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-08-18T20:12:38.614978" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.615817" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.615487" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.616322" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.616009" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.616892" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8f40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.616510" elapsed="0.000430"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:38.608472" elapsed="0.008522"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.617514" 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-08-18T20:12:38.617139" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.617942" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.617689" 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-08-18T20:12:38.625522" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.625230" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.630031" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.630147" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.630252" 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-08-18T20:12:38.625675" elapsed="0.004602"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.630686" 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-08-18T20:12:38.630434" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.632852" 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-08-18T20:12:38.630891" elapsed="0.002012"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.634673" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.632973" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.632954" elapsed="0.001859"/>
</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-08-18T20:12:38.634953" 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-08-18T20:12:38.635172" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.635043" elapsed="0.000179"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.635027" elapsed="0.000217"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.635276" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:12:38.636918" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.636963" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.624923" elapsed="0.012062"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.639065" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.637511" elapsed="0.001600"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.637494" elapsed="0.001639"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.639663" 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-08-18T20:12:38.639274" elapsed="0.000416"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.640206" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.639861" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.640281" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.640456" 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-08-18T20:12:38.637190" elapsed="0.003290"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.640653" 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-08-18T20:12:38.624333" elapsed="0.016790"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.648738" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.648434" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.652921" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.653034" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.653129" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.648905" elapsed="0.004248"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.653555" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.653308" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.656845" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.653803" elapsed="0.003116"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.659422" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.657016" elapsed="0.002475"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.656990" elapsed="0.002531"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.662925" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.662971" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.659713" elapsed="0.003281"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.664817" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.663070" elapsed="0.001804"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.663051" elapsed="0.001848"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.664974" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.665170" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.665212" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.648068" elapsed="0.017167"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.667385" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.665788" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.665769" elapsed="0.001684"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.668011" 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-08-18T20:12:38.667597" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.668554" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.668198" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.668631" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.668858" 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-08-18T20:12:38.665444" elapsed="0.003439"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.669039" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:38.647455" elapsed="0.022028"/>
</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-08-18T20:12:38.605057" elapsed="0.064482"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.596062" elapsed="0.073588"/>
</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-08-18T20:12:38.680302" 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-08-18T20:12:38.680432" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.680169" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.681069" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985910f90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.680607" elapsed="0.000490"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.681515" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.681244" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.681972" 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-08-18T20:12:38.681689" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.682406" 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-08-18T20:12:38.682143" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.683504" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.682575" elapsed="0.000960"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.684026" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.683685" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.684530" 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-08-18T20:12:38.684214" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.685076" 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-08-18T20:12:38.684739" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.685567" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.685263" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.686085" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.685772" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.686633" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985910f90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.686317" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:38.679846" elapsed="0.006882"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.687273" 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-08-18T20:12:38.686895" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.687685" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.687449" 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-08-18T20:12:38.695373" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.695080" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.699090" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.699204" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.699299" 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-08-18T20:12:38.695528" elapsed="0.003797"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.699736" 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-08-18T20:12:38.699482" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.702029" 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-08-18T20:12:38.699944" elapsed="0.002157"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.704646" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.702198" elapsed="0.002576"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.702172" 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-08-18T20:12:38.705021" 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-08-18T20:12:38.705328" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.705147" elapsed="0.000251"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.705124" elapsed="0.000306"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.705474" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:38.707700" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.707780" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.694768" elapsed="0.013046"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.710575" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.708610" elapsed="0.002011"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.708584" elapsed="0.002060"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.711202" 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-08-18T20:12:38.710806" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.711731" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.711384" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.711823" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.712001" 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-08-18T20:12:38.708153" elapsed="0.003873"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.712178" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:38.694210" elapsed="0.018410"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.720452" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.720158" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.724589" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.724707" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.724862" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.720611" elapsed="0.004282"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.725303" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.725054" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.728213" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.725488" elapsed="0.002795"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.730804" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.728381" elapsed="0.002492"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.728354" elapsed="0.002550"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.734513" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.734559" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.731092" elapsed="0.003490"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.736329" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.734659" elapsed="0.001725"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.734641" elapsed="0.001766"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.736441" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:38.736631" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.736678" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.719778" elapsed="0.016922"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.738846" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.737279" elapsed="0.001612"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.737262" elapsed="0.001651"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.739446" 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-08-18T20:12:38.739054" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.740044" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.739673" elapsed="0.000397"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.740120" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.740295" 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-08-18T20:12:38.736954" elapsed="0.003366"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.740473" 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-08-18T20:12:38.719156" elapsed="0.021804"/>
</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-08-18T20:12:38.676626" elapsed="0.064389"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.669908" elapsed="0.071218"/>
</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-08-18T20:12:38.751971" 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-08-18T20:12:38.752104" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.751833" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.752704" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859105e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.752283" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.753228" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.752949" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.753670" 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-08-18T20:12:38.753403" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.754127" 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-08-18T20:12:38.753860" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.755063" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.754306" elapsed="0.000787"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.755570" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.755247" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.756093" 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-08-18T20:12:38.755777" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.756599" 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-08-18T20:12:38.756280" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.757121" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.756800" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.757625" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.757312" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.758145" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859105e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.757831" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:38.751487" elapsed="0.006754"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.758782" 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-08-18T20:12:38.758387" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.759240" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.758999" 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-08-18T20:12:38.766894" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.766581" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.771327" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.771475" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.771592" 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-08-18T20:12:38.767049" elapsed="0.004568"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.772082" 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-08-18T20:12:38.771812" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.774419" 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-08-18T20:12:38.772267" 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-08-18T20:12:38.776279" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.774549" elapsed="0.001803"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.774527" elapsed="0.001849"/>
</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-08-18T20:12:38.776521" 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-08-18T20:12:38.776756" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.776611" elapsed="0.000199"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.776595" elapsed="0.000237"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.776864" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:38.779006" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.779070" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.766274" elapsed="0.012828"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.782150" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.779944" elapsed="0.002268"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.779919" elapsed="0.002325"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.783024" 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-08-18T20:12:38.782445" elapsed="0.000616"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.783779" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.783278" elapsed="0.000539"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.783952" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:12:38.784209" 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-08-18T20:12:38.779451" elapsed="0.004792"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.784457" elapsed="0.000626"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:38.765708" elapsed="0.019465"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.792970" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.792626" elapsed="0.000371"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.797438" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.797565" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.797665" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.793129" elapsed="0.004561"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.798113" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.797865" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.800258" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.798296" elapsed="0.002013"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.802586" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.800381" elapsed="0.002280"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.800361" elapsed="0.002332"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.806674" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.806739" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.802904" elapsed="0.003889"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.809573" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.806900" elapsed="0.002754"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.806875" elapsed="0.002808"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.809717" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:12:38.809927" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.809969" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.792255" elapsed="0.017737"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.812144" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.810527" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.810510" elapsed="0.001703"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.812772" 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-08-18T20:12:38.812358" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.813320" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.812970" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.813396" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.813574" 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-08-18T20:12:38.810202" elapsed="0.003397"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.813821" 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-08-18T20:12:38.791623" elapsed="0.022665"/>
</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-08-18T20:12:38.748080" elapsed="0.066266"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.741362" elapsed="0.073114"/>
</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-08-18T20:12:38.825683" 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-08-18T20:12:38.825849" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.825537" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.826465" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4950&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.826030" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.826950" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.826644" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.827391" 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-08-18T20:12:38.827127" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.827854" 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-08-18T20:12:38.827566" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.828810" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.828028" elapsed="0.000813"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.829333" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.829004" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.829855" 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-08-18T20:12:38.829524" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.830362" 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-08-18T20:12:38.830044" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.830875" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.830550" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.831378" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.831066" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.831905" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4950&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.831569" 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-08-18T20:12:38.825209" elapsed="0.006793"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.832523" 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-08-18T20:12:38.832147" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.832958" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.832700" elapsed="0.000396"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.840812" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.840502" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.846836" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.846963" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.847058" 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-08-18T20:12:38.840965" elapsed="0.006118"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.847488" 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-08-18T20:12:38.847240" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.849677" 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-08-18T20:12:38.847677" elapsed="0.002113"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.852285" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.849905" elapsed="0.002474"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.849878" elapsed="0.002534"/>
</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-08-18T20:12:38.852605" 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-08-18T20:12:38.852937" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.852731" elapsed="0.000279"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.852708" elapsed="0.000349"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.853103" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:38.855325" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.855387" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.840192" elapsed="0.015227"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.858199" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.856175" elapsed="0.002069"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.856150" elapsed="0.002115"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.858816" 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-08-18T20:12:38.858406" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.859348" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.858999" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.859424" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:38.859602" 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-08-18T20:12:38.855707" elapsed="0.003921"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.859802" 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-08-18T20:12:38.839630" elapsed="0.020618"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.867961" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.867649" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.872031" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.872188" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.872285" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.868112" elapsed="0.004198"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.872714" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.872466" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.875683" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.872920" elapsed="0.002853"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.878297" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.875873" elapsed="0.002493"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.875847" elapsed="0.002550"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.882182" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.882228" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.878585" 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-08-18T20:12:38.884013" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.882327" elapsed="0.001742"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.882309" elapsed="0.001784"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.884126" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:38.884317" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.884359" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.867275" elapsed="0.017105"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.886503" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.884934" elapsed="0.001614"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.884916" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.887127" 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-08-18T20:12:38.886711" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.887665" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.887312" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.887756" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:38.887937" 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-08-18T20:12:38.884588" elapsed="0.003374"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.888115" 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-08-18T20:12:38.866654" elapsed="0.021913"/>
</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-08-18T20:12:38.821812" elapsed="0.066812"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.814798" elapsed="0.073933"/>
</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-08-18T20:12:38.899390" 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-08-18T20:12:38.899526" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.899254" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.900158" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.899703" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.900654" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.900332" elapsed="0.000349"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.901139" 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-08-18T20:12:38.900845" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.901584" 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-08-18T20:12:38.901315" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.902620" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.901771" elapsed="0.000880"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.903148" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.902820" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.903655" 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-08-18T20:12:38.903339" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.904182" 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-08-18T20:12:38.903860" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.904684" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.904370" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.905237" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.904891" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.905819" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.905431" elapsed="0.000431"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:38.898930" elapsed="0.006986"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.906439" 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-08-18T20:12:38.906062" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.906874" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.906616" 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-08-18T20:12:38.914482" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.914189" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.920158" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.920374" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.920616" 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-08-18T20:12:38.914634" elapsed="0.006039"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.921192" 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-08-18T20:12:38.920916" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.924038" 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-08-18T20:12:38.921379" elapsed="0.002729"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:38.926678" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.924206" elapsed="0.002587"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.924180" elapsed="0.002647"/>
</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-08-18T20:12:38.927022" 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-08-18T20:12:38.927331" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.927148" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:38.927126" elapsed="0.000307"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.927477" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:38.929831" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:38.929882" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.913880" elapsed="0.016025"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.932007" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.930438" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.930421" elapsed="0.001651"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.932604" 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-08-18T20:12:38.932214" elapsed="0.000416"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.933150" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.932803" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.933245" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:38.933421" 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-08-18T20:12:38.930115" elapsed="0.003330"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.933600" 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-08-18T20:12:38.913319" elapsed="0.020741"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.943420" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.943013" elapsed="0.000444"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.949334" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.949447" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:38.949541" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:38.943631" elapsed="0.005935"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.950165" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:38.949726" elapsed="0.000485"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.952295" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:38.950353" 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-08-18T20:12:38.954505" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.952451" elapsed="0.002122"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.952433" elapsed="0.002171"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.958438" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:38.958502" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:38.954810" elapsed="0.003724"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:38.960990" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:38.958639" elapsed="0.002428"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.958614" elapsed="0.002486"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:38.961147" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:38.961453" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:38.961513" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:38.942474" elapsed="0.019070"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:38.963763" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:38.962191" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.962173" elapsed="0.001659"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.964375" 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-08-18T20:12:38.963981" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.964924" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:38.964560" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:38.964999" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:38.965175" 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-08-18T20:12:38.961867" elapsed="0.003333"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:38.965369" 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-08-18T20:12:38.941617" elapsed="0.024209"/>
</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-08-18T20:12:38.895697" elapsed="0.070185"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.888984" elapsed="0.077009"/>
</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-08-18T20:12:38.976640" 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-08-18T20:12:38.976790" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.976503" elapsed="0.000317"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:38.977413" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9a30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:38.976969" elapsed="0.000472"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.977888" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:38.977593" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.978327" 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-08-18T20:12:38.978061" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:38.978777" 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-08-18T20:12:38.978497" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:38.979877" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.978952" elapsed="0.000956"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.980389" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.980065" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.980958" 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-08-18T20:12:38.980620" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.981499" 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-08-18T20:12:38.981150" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.982013" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:38.981687" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.982517" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:38.982205" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.983037" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9a30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:38.982707" 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-08-18T20:12:38.976182" elapsed="0.006952"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.983657" 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-08-18T20:12:38.983278" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.984089" level="INFO">&lt;?xml version="1.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-08-18T20:12:38.983848" 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-08-18T20:12:38.991780" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:38.991468" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:38.996870" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:38.997008" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:38.997106" 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-08-18T20:12:38.991937" elapsed="0.005193"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.997558" 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-08-18T20:12:38.997308" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:38.999708" 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-08-18T20:12:38.997770" elapsed="0.002006"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.001648" elapsed="0.000036"/>
</return>
<status status="PASS" start="2026-08-18T20:12:38.999889" elapsed="0.001835"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:38.999867" 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-08-18T20:12:39.001907" 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-08-18T20:12:39.002128" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.001997" elapsed="0.000182"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.001981" elapsed="0.000225"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.002246" elapsed="0.000018"/>
</return>
<msg time="2026-08-18T20:12:39.004516" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.004579" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:38.991160" elapsed="0.013450"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.007570" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.005392" elapsed="0.002241"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.005367" elapsed="0.002296"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.008426" 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-08-18T20:12:39.007879" elapsed="0.000585"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.009189" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.008683" elapsed="0.000542"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.009293" elapsed="0.000075"/>
</return>
<msg time="2026-08-18T20:12:39.009580" 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-08-18T20:12:39.004921" elapsed="0.004697"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.009863" 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-08-18T20:12:38.990573" elapsed="0.019742"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.019781" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.019467" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.024003" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.024117" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.024220" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.019935" elapsed="0.004310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.024649" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.024398" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.027345" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.024851" elapsed="0.002564"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.029936" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.027509" elapsed="0.002494"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.027484" elapsed="0.002550"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.033917" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.033963" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.030219" elapsed="0.003767"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.035720" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.034061" elapsed="0.001767"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.034043" elapsed="0.001810"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.035887" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:39.036078" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.036121" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.019098" elapsed="0.017044"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.038236" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.036675" elapsed="0.001605"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.036658" elapsed="0.001644"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.038859" 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-08-18T20:12:39.038443" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.039393" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.039043" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.039474" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:12:39.039653" 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-08-18T20:12:39.036350" elapsed="0.003328"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.039846" elapsed="0.000381"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.018472" elapsed="0.021819"/>
</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-08-18T20:12:38.972992" elapsed="0.067354"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:38.966220" elapsed="0.074243"/>
</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-08-18T20:12:39.051373" 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-08-18T20:12:39.051515" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.051233" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.052117" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eb100&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.051692" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.052568" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.052292" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.053026" 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-08-18T20:12:39.052757" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.053479" 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-08-18T20:12:39.053200" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.054334" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:39.053650" elapsed="0.000715"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.054856" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.054518" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.055360" 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-08-18T20:12:39.055049" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.055888" 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-08-18T20:12:39.055548" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.056382" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.056078" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.056948" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:39.056617" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.057480" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eb100&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.057142" 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-08-18T20:12:39.050902" elapsed="0.006677"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.058122" 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-08-18T20:12:39.057729" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.058533" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.058298" 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-08-18T20:12:39.066184" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.065888" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.070883" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.071014" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.071119" 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-08-18T20:12:39.066338" elapsed="0.004806"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.071552" 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-08-18T20:12:39.071304" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.074032" 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-08-18T20:12:39.071756" elapsed="0.002348"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.076610" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.074202" elapsed="0.002500"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.074176" elapsed="0.002559"/>
</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-08-18T20:12:39.076949" 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-08-18T20:12:39.077255" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.077075" elapsed="0.000250"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.077053" elapsed="0.000303"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.077400" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:39.079669" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.079730" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.065554" elapsed="0.014225"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.082554" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.080580" elapsed="0.002019"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.080554" elapsed="0.002067"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.083171" 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-08-18T20:12:39.082779" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.083702" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.083355" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.083793" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:39.083973" 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-08-18T20:12:39.080122" elapsed="0.003876"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.084152" 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-08-18T20:12:39.064974" elapsed="0.019623"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.092262" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.091972" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.097009" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.097122" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.097217" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.092414" elapsed="0.004828"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.097694" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.097396" elapsed="0.000343"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.100372" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.097895" elapsed="0.002547"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.102969" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.100537" elapsed="0.002500"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.100511" elapsed="0.002556"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.106782" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.106840" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.103255" elapsed="0.003612"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.108787" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.106942" elapsed="0.001902"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.106923" elapsed="0.001945"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.108901" elapsed="0.000026"/>
</return>
<msg time="2026-08-18T20:12:39.109092" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.109135" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.091588" elapsed="0.017569"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.111268" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.109702" elapsed="0.001610"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.109685" elapsed="0.001649"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.111949" 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-08-18T20:12:39.111477" elapsed="0.000499"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.112481" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.112135" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.112557" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.112732" 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-08-18T20:12:39.109366" elapsed="0.003406"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.112927" 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-08-18T20:12:39.090989" elapsed="0.022385"/>
</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-08-18T20:12:39.047476" elapsed="0.065954"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.040734" elapsed="0.072855"/>
</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-08-18T20:12:39.124301" 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-08-18T20:12:39.124429" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.124167" elapsed="0.000291"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.125024" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6700&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.124605" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.125470" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.125198" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.125938" 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-08-18T20:12:39.125656" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.126376" 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-08-18T20:12:39.126112" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.127237" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.126546" elapsed="0.000722"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.127740" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.127420" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.128260" 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-08-18T20:12:39.127946" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.128789" 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-08-18T20:12:39.128449" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.129284" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.128979" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.129849" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.129474" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.130362" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6700&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.130044" 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-08-18T20:12:39.123842" elapsed="0.006616"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.131006" 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-08-18T20:12:39.130604" elapsed="0.000467"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.131464" level="INFO">&lt;?xml version="1.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-08-18T20:12:39.131222" 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-08-18T20:12:39.139431" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.139135" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.144361" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.144478" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.144575" 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-08-18T20:12:39.139583" elapsed="0.005017"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.145027" 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-08-18T20:12:39.144778" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.147440" 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-08-18T20:12:39.145210" elapsed="0.002299"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.150068" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.147605" elapsed="0.002554"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.147579" elapsed="0.002613"/>
</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-08-18T20:12:39.150384" 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-08-18T20:12:39.150707" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.150507" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.150485" elapsed="0.000375"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.150910" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:39.153149" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.153210" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.138816" elapsed="0.014425"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.155962" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.154197" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.154171" elapsed="0.001857"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.156562" 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-08-18T20:12:39.156170" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.157107" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.156758" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.157214" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:39.157395" 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-08-18T20:12:39.153528" elapsed="0.003892"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.157575" 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-08-18T20:12:39.138246" elapsed="0.019807"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.165850" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.165522" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.170008" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.170121" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.170216" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.166004" elapsed="0.004236"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.170647" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.170399" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.173929" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.170940" elapsed="0.003061"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.176524" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.174096" elapsed="0.002497"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.174070" elapsed="0.002553"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.180030" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.180076" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.176837" 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-08-18T20:12:39.181875" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.180175" elapsed="0.001756"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.180157" elapsed="0.001797"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.181987" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:39.182177" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.182219" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.165153" elapsed="0.017088"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.184355" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.182793" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.182775" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.184975" 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-08-18T20:12:39.184563" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.185507" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.185160" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.185582" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:39.185805" 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-08-18T20:12:39.182455" elapsed="0.003376"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.185985" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.164397" elapsed="0.022072"/>
</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-08-18T20:12:39.120620" elapsed="0.065905"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.113851" elapsed="0.072785"/>
</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-08-18T20:12:39.197639" 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-08-18T20:12:39.197846" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.197500" elapsed="0.000377"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.198450" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583b4c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.198030" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.198920" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.198626" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.199361" 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-08-18T20:12:39.199095" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.199815" 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-08-18T20:12:39.199533" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.200881" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.199987" elapsed="0.000925"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.201393" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.201067" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.201964" 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-08-18T20:12:39.201585" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.202476" 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-08-18T20:12:39.202156" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.202991" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.202666" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.203495" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.203184" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.204013" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583b4c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.203684" 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-08-18T20:12:39.197164" elapsed="0.006944"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.204635" 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-08-18T20:12:39.204253" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.205066" level="INFO">&lt;?xml version="1.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-08-18T20:12:39.204827" elapsed="0.000334"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.212740" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.212443" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.217064" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.217191" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.217288" 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-08-18T20:12:39.212909" elapsed="0.004404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.217783" 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-08-18T20:12:39.217473" elapsed="0.000367"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.220449" 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-08-18T20:12:39.217986" elapsed="0.002532"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.223052" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.220617" elapsed="0.002530"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.220590" elapsed="0.002591"/>
</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-08-18T20:12:39.223375" 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-08-18T20:12:39.223690" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.223501" elapsed="0.000279"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.223478" elapsed="0.000334"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.223857" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:39.226138" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.226200" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.212132" elapsed="0.014100"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.228516" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.226966" elapsed="0.001595"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.226948" elapsed="0.001635"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.229168" 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-08-18T20:12:39.228731" elapsed="0.000465"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.229713" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.229358" elapsed="0.000418"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.229836" elapsed="0.000036"/>
</return>
<msg time="2026-08-18T20:12:39.230025" 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-08-18T20:12:39.226520" elapsed="0.003530"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.230207" 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-08-18T20:12:39.211574" elapsed="0.019088"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.238517" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.238219" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.242832" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.243062" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.243223" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.238671" elapsed="0.004591"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.243872" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.243483" elapsed="0.000456"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.247436" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.244141" elapsed="0.003371"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.250179" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.247616" elapsed="0.002648"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.247584" elapsed="0.002720"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.253364" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.253411" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.250560" elapsed="0.002874"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.255240" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.253512" elapsed="0.001785"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.253493" elapsed="0.001827"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.255354" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.255548" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.255591" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.237842" elapsed="0.017770"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.257835" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.256164" elapsed="0.001718"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.256147" elapsed="0.001756"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.258455" 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-08-18T20:12:39.258050" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.259019" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.258645" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.259096" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:39.259297" 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-08-18T20:12:39.255840" 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-08-18T20:12:39.259482" 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-08-18T20:12:39.237115" elapsed="0.022847"/>
</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-08-18T20:12:39.193702" elapsed="0.066317"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.186896" elapsed="0.073238"/>
</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-08-18T20:12:39.271389" 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-08-18T20:12:39.271525" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.271251" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.272159" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cecef0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.271704" elapsed="0.000484"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.272678" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.272341" elapsed="0.000365"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.273168" 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-08-18T20:12:39.272890" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.273641" 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-08-18T20:12:39.273362" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.274740" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.273869" elapsed="0.000930"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.275287" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.274957" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.275820" 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-08-18T20:12:39.275484" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.276337" 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-08-18T20:12:39.276012" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.276896" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.276526" elapsed="0.000418"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.277452" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.277108" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.278019" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cecef0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.277655" elapsed="0.000407"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:39.270922" elapsed="0.007205"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.278679" 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-08-18T20:12:39.278277" elapsed="0.000434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.279143" level="INFO">&lt;?xml version="1.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-08-18T20:12:39.278885" 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-08-18T20:12:39.286851" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.286539" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.291314" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.291436" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.291571" 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-08-18T20:12:39.287006" elapsed="0.004591"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.292051" 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-08-18T20:12:39.291791" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.294211" 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-08-18T20:12:39.292238" elapsed="0.002023"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.296062" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.294333" elapsed="0.001798"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.294313" elapsed="0.001843"/>
</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-08-18T20:12:39.296295" 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-08-18T20:12:39.296519" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.296386" elapsed="0.000188"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.296370" elapsed="0.000227"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.296628" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:12:39.298286" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.298330" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.286227" elapsed="0.012126"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.301235" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.299065" elapsed="0.002232"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.299040" elapsed="0.002287"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.302113" 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-08-18T20:12:39.301525" elapsed="0.000625"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.302880" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.302367" elapsed="0.000549"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.302986" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:39.303233" 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-08-18T20:12:39.298563" elapsed="0.004705"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.303483" 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-08-18T20:12:39.285647" elapsed="0.018485"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.312591" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.312289" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.316955" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.317237" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.317347" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.312763" elapsed="0.004609"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.317795" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.317531" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.319957" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.317999" elapsed="0.002050"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.321844" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.320119" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.320100" elapsed="0.001844"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.325581" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.325645" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.322083" elapsed="0.003593"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.328158" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.325803" elapsed="0.002439"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.325776" elapsed="0.002499"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.328323" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:39.328589" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.328649" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.311920" elapsed="0.016760"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.331474" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.329451" elapsed="0.002068"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.329426" elapsed="0.002115"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.332098" 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-08-18T20:12:39.331684" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.332636" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.332290" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.332715" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:12:39.332909" 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-08-18T20:12:39.328996" elapsed="0.003938"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.333090" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.311304" elapsed="0.022229"/>
</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-08-18T20:12:39.267598" elapsed="0.065991"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.260463" elapsed="0.073244"/>
</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-08-18T20:12:39.344460" 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-08-18T20:12:39.344603" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.344320" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.345210" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1e40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.344797" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.345662" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.345386" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.346169" 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-08-18T20:12:39.345852" elapsed="0.000343"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.346612" 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-08-18T20:12:39.346345" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.347665" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.346800" elapsed="0.000896"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.348200" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.347865" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.348766" 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-08-18T20:12:39.348433" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.349280" 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-08-18T20:12:39.348959" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.349791" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.349468" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.350322" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.350006" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.350842" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1e40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.350513" 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-08-18T20:12:39.343996" elapsed="0.006943"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.351461" 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-08-18T20:12:39.351084" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.351894" level="INFO">&lt;?xml version="1.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-08-18T20:12:39.351639" 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-08-18T20:12:39.359540" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.359246" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.363904" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.364032" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.364128" 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-08-18T20:12:39.359693" elapsed="0.004460"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.364557" 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-08-18T20:12:39.364309" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.366725" 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-08-18T20:12:39.364764" 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-08-18T20:12:39.368567" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.366862" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.366842" elapsed="0.001852"/>
</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-08-18T20:12:39.368853" 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-08-18T20:12:39.369078" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.368945" elapsed="0.000184"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.368929" elapsed="0.000223"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.369184" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:12:39.370933" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.370994" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.358938" elapsed="0.012088"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.373948" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.371788" elapsed="0.002235"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.371761" elapsed="0.002293"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.374828" 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-08-18T20:12:39.374252" elapsed="0.000613"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.375565" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.375084" elapsed="0.000517"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.375668" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:39.375935" 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-08-18T20:12:39.371314" elapsed="0.004656"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.376183" elapsed="0.000531"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.358376" elapsed="0.018448"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.385218" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.384923" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.389483" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.389597" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.389707" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.385373" elapsed="0.004359"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.390178" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.389909" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.392293" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.390362" elapsed="0.001982"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.394177" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.392413" elapsed="0.001814"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.392395" elapsed="0.001854"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.397943" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.398007" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.394384" elapsed="0.003655"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.400493" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.398161" elapsed="0.002407"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.398135" elapsed="0.002466"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.400648" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:39.400992" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.401052" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.384540" elapsed="0.016543"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.403664" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.401845" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.401820" elapsed="0.001911"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.404285" 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-08-18T20:12:39.403887" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.404849" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.404474" elapsed="0.000402"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.404926" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.405102" 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-08-18T20:12:39.401374" elapsed="0.003753"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.405280" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.383934" elapsed="0.021790"/>
</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-08-18T20:12:39.340781" elapsed="0.065017"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.333998" elapsed="0.071915"/>
</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-08-18T20:12:39.420517" 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-08-18T20:12:39.420763" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.420293" elapsed="0.000510"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.421704" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913bf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.421034" elapsed="0.000729"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.422403" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.421978" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.423056" 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-08-18T20:12:39.422655" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.423700" 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-08-18T20:12:39.423306" elapsed="0.000431"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.425104" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:39.423970" elapsed="0.001177"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.425864" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.425368" elapsed="0.000557"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.426622" 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-08-18T20:12:39.426174" elapsed="0.000507"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.427371" 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-08-18T20:12:39.426917" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.428100" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.427639" elapsed="0.000527"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.428839" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:39.428374" elapsed="0.000607"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.429607" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913bf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.429192" elapsed="0.000471"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:39.419729" elapsed="0.010007"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.430567" 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-08-18T20:12:39.429994" elapsed="0.000617"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.431188" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.430837" elapsed="0.000447"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.439663" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.439355" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.445713" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.445892" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.446009" 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-08-18T20:12:39.439836" elapsed="0.006200"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.446539" 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-08-18T20:12:39.446270" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.448913" 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-08-18T20:12:39.446732" 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-08-18T20:12:39.450890" elapsed="0.000050"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.449046" elapsed="0.001950"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.449023" 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-08-18T20:12:39.451223" 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-08-18T20:12:39.451531" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.451351" elapsed="0.000250"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.451328" elapsed="0.000304"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.451676" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:39.453925" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.453986" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.439043" elapsed="0.014975"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.457146" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.454972" elapsed="0.002237"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.454947" elapsed="0.002291"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.458013" 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-08-18T20:12:39.457437" elapsed="0.000613"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.458790" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.458320" elapsed="0.000497"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.458867" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.459044" 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-08-18T20:12:39.454488" elapsed="0.004581"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.459224" 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-08-18T20:12:39.438444" elapsed="0.021231"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.467335" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.467036" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.471706" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.471854" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.471954" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.467486" elapsed="0.004493"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.472394" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.472141" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.474579" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.472575" elapsed="0.002055"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.477175" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.474738" elapsed="0.002505"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.474706" elapsed="0.002568"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.481141" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.481204" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.477461" elapsed="0.003774"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.483677" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.481341" elapsed="0.002392"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.481316" elapsed="0.002474"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.483826" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:39.484021" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.484064" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.466651" elapsed="0.017435"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.486215" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.484630" elapsed="0.001631"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.484613" elapsed="0.001670"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.486846" 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-08-18T20:12:39.486429" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.487432" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.487081" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.487507" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.487682" 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-08-18T20:12:39.484302" elapsed="0.003405"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.487874" 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-08-18T20:12:39.466001" elapsed="0.022322"/>
</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-08-18T20:12:39.415301" elapsed="0.073080"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.406179" elapsed="0.082328"/>
</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-08-18T20:12:39.499293" 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-08-18T20:12:39.499444" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.499151" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.500063" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859112b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.499621" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.500516" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.500239" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.500971" 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-08-18T20:12:39.500688" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.501408" 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-08-18T20:12:39.501144" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.502357" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:39.501579" elapsed="0.000808"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.502881" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.502541" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.503385" 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-08-18T20:12:39.503072" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.503905" 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-08-18T20:12:39.503572" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.504397" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.504092" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.504912" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:39.504585" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.505414" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859112b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.505102" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:39.498823" elapsed="0.006686"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.506059" 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-08-18T20:12:39.505658" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.506550" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.506307" 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-08-18T20:12:39.514428" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.514077" elapsed="0.000377"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.518989" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.519111" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.519207" 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-08-18T20:12:39.514582" elapsed="0.004650"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.519636" 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-08-18T20:12:39.519388" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.521799" 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-08-18T20:12:39.519840" elapsed="0.002010"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.524076" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.521920" elapsed="0.002250"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.521901" elapsed="0.002304"/>
</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-08-18T20:12:39.524398" 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-08-18T20:12:39.524708" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.524525" elapsed="0.000275"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.524502" elapsed="0.000330"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.524877" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:39.527183" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.527245" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.513766" elapsed="0.013511"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.530230" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.528040" elapsed="0.002294"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.528016" elapsed="0.002352"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.531008" 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-08-18T20:12:39.530571" elapsed="0.000463"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.531539" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.531193" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.531648" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:39.531844" 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-08-18T20:12:39.527566" elapsed="0.004304"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.532022" 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-08-18T20:12:39.513208" elapsed="0.019262"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.540152" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.539858" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.544395" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.544537" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.544659" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.540304" elapsed="0.004388"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.545238" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.544922" elapsed="0.000374"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.548938" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.545475" elapsed="0.003556"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.551884" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.549152" elapsed="0.002796"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.549119" elapsed="0.002857"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.555577" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.555637" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.552150" 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-08-18T20:12:39.557995" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.555785" elapsed="0.002283"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.555759" elapsed="0.002338"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.558143" elapsed="0.000036"/>
</return>
<msg time="2026-08-18T20:12:39.558414" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.558473" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.539470" elapsed="0.019033"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.561098" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.559224" elapsed="0.001928"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.559200" elapsed="0.001977"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.561812" 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-08-18T20:12:39.561352" elapsed="0.000491"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.562397" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.562008" elapsed="0.000417"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.562475" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:39.562654" 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-08-18T20:12:39.558802" elapsed="0.003878"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.562851" elapsed="0.000447"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.538864" elapsed="0.024499"/>
</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-08-18T20:12:39.495582" elapsed="0.067840"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.488801" elapsed="0.074741"/>
</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-08-18T20:12:39.574388" 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-08-18T20:12:39.574537" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.574224" elapsed="0.000343"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.575161" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a49a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.574718" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.575621" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.575340" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.576088" 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-08-18T20:12:39.575815" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.576533" 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-08-18T20:12:39.576262" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.577617" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.576706" elapsed="0.000943"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.578153" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.577821" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.578703" 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-08-18T20:12:39.578349" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.579241" 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-08-18T20:12:39.578915" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.579760" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.579434" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.580275" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.579958" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.580802" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a49a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.580470" 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-08-18T20:12:39.573895" elapsed="0.007005"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.581427" 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-08-18T20:12:39.581047" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.581861" level="INFO">&lt;?xml version="1.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-08-18T20:12:39.581605" 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-08-18T20:12:39.589576" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.589273" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.594267" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.594439" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.594543" 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-08-18T20:12:39.589730" elapsed="0.004839"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.595158" 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-08-18T20:12:39.594798" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.598163" 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-08-18T20:12:39.595424" elapsed="0.002812"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.600890" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.598338" elapsed="0.002650"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.598311" elapsed="0.002711"/>
</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-08-18T20:12:39.601217" 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-08-18T20:12:39.601525" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.601344" elapsed="0.000251"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.601322" elapsed="0.000305"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.601670" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:39.603969" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.604032" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.588958" elapsed="0.015105"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.606960" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.604837" elapsed="0.002169"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.604811" elapsed="0.002217"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.607700" 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-08-18T20:12:39.607299" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.608251" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.607901" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.608327" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.608503" 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-08-18T20:12:39.604356" elapsed="0.004172"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.608681" 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-08-18T20:12:39.588389" elapsed="0.020763"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.616815" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.616501" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.621054" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.621214" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.621324" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.616968" elapsed="0.004381"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.621777" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.621507" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.624482" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.621966" elapsed="0.002587"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.627115" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.624650" elapsed="0.002534"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.624624" elapsed="0.002591"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.631128" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.631175" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.627405" elapsed="0.003793"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.632957" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.631275" elapsed="0.001738"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.631257" elapsed="0.001780"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.633070" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.633261" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.633304" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.616132" elapsed="0.017194"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.635461" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.633876" elapsed="0.001630"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.633858" elapsed="0.001670"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.636084" 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-08-18T20:12:39.635671" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.636615" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.636269" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.636689" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.636881" 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-08-18T20:12:39.633534" elapsed="0.003373"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.637060" elapsed="0.000378"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.615507" elapsed="0.021993"/>
</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-08-18T20:12:39.570687" elapsed="0.066868"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.563833" elapsed="0.073837"/>
</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-08-18T20:12:39.649630" 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-08-18T20:12:39.649781" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.649493" elapsed="0.000318"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.650365" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea750&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.649960" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.650916" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.650570" elapsed="0.000373"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.651362" 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-08-18T20:12:39.651093" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.651821" 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-08-18T20:12:39.651534" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.652846" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.651996" elapsed="0.000880"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.653355" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.653031" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.653877" 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-08-18T20:12:39.653545" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.654387" 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-08-18T20:12:39.654068" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.654936" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:39.654607" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.655441" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:39.655129" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.655963" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea750&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.655631" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:39.649168" elapsed="0.006891"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.656579" 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-08-18T20:12:39.656203" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.657014" level="INFO">&lt;?xml version="1.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-08-18T20:12:39.656775" 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-08-18T20:12:39.664645" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.664352" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.670374" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.670618" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.670824" 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-08-18T20:12:39.664810" elapsed="0.006080"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.671300" 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-08-18T20:12:39.671051" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.673440" 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-08-18T20:12:39.671484" elapsed="0.002007"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.675362" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.673560" elapsed="0.001869"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.673541" 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-08-18T20:12:39.675592" 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-08-18T20:12:39.675948" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.675707" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.675679" elapsed="0.000372"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.676095" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:39.678315" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.678375" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.664042" elapsed="0.014364"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.681383" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.679204" elapsed="0.002241"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.679179" elapsed="0.002298"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.682244" 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-08-18T20:12:39.681674" elapsed="0.000607"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.683038" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.682500" elapsed="0.000575"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.683142" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:12:39.683389" 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-08-18T20:12:39.678725" elapsed="0.004698"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.683639" elapsed="0.000470"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.663482" elapsed="0.020690"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.691827" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.691517" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.696759" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.696876" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.696982" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.691981" elapsed="0.005027"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.697415" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.697166" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.699564" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.697598" elapsed="0.002055"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.702183" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.699776" elapsed="0.002476"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.699726" elapsed="0.002556"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.705979" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.706042" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.702470" elapsed="0.003603"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.708380" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.706179" elapsed="0.002257"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.706154" elapsed="0.002305"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.708492" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.708684" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.708727" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.691147" elapsed="0.017616"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.710885" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.709301" elapsed="0.001629"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.709283" elapsed="0.001668"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.711486" 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-08-18T20:12:39.711093" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.712037" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.711669" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.712112" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.712288" 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-08-18T20:12:39.708976" elapsed="0.003336"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.712466" 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-08-18T20:12:39.690493" elapsed="0.022434"/>
</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-08-18T20:12:39.645949" elapsed="0.067034"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.637945" elapsed="0.075148"/>
</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-08-18T20:12:39.723765" 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-08-18T20:12:39.723898" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:39.723616" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.724454" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a6b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.724075" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.724918" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.724629" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.725356" 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-08-18T20:12:39.725091" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.725809" 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-08-18T20:12:39.725528" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.726721" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.725981" elapsed="0.000785"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.727250" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.726923" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.727818" 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-08-18T20:12:39.727484" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.728334" 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-08-18T20:12:39.728013" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.728846" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:39.728523" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.729353" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.729041" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.729875" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a6b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.729544" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:39.723291" elapsed="0.006681"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.730493" 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-08-18T20:12:39.730119" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.730954" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:39.730697" 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-08-18T20:12:39.738906" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.738544" elapsed="0.000389"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.743093" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.743212" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.743308" 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-08-18T20:12:39.739061" elapsed="0.004272"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.743765" 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-08-18T20:12:39.743493" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.745919" 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-08-18T20:12:39.743958" elapsed="0.002010"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.747924" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.746037" elapsed="0.001980"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.746018" elapsed="0.002032"/>
</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-08-18T20:12:39.748243" 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-08-18T20:12:39.748550" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.748367" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.748345" elapsed="0.000360"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.748770" elapsed="0.000022"/>
</return>
<msg time="2026-08-18T20:12:39.751024" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.751086" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.738231" elapsed="0.012886"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.754064" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.751885" elapsed="0.002242"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.751859" elapsed="0.002298"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.754962" 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-08-18T20:12:39.754357" elapsed="0.000642"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.755717" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.755219" elapsed="0.000578"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.755875" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:12:39.756058" 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-08-18T20:12:39.751405" elapsed="0.004679"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.756237" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.737646" elapsed="0.019034"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.764306" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.764013" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.768784" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.768900" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.768997" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.764458" elapsed="0.004564"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.769434" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.769183" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.772028" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.769619" elapsed="0.002487"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.774762" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.772205" elapsed="0.002634"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.772179" elapsed="0.002692"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.778454" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.778520" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.775065" elapsed="0.003487"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.780779" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.778658" elapsed="0.002179"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.778633" elapsed="0.002228"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.780894" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.781086" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.781129" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.763629" elapsed="0.017523"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.783344" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.781728" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.781711" elapsed="0.001701"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.783976" 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-08-18T20:12:39.783556" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.784513" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.784163" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.784589" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:39.784784" 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-08-18T20:12:39.781399" 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-08-18T20:12:39.784967" 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-08-18T20:12:39.763030" elapsed="0.022386"/>
</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-08-18T20:12:39.720074" elapsed="0.065398"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.713341" elapsed="0.072241"/>
</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-08-18T20:12:39.796774" 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-08-18T20:12:39.796915" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:39.796625" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.797509" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839ad0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.797103" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.797995" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.797688" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.798441" 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-08-18T20:12:39.798172" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.798911" 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-08-18T20:12:39.798614" elapsed="0.000324"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.799905" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:39.799086" elapsed="0.000851"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.800421" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.800092" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.800954" 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-08-18T20:12:39.800616" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.801471" 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-08-18T20:12:39.801147" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.801987" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:39.801662" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.802489" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:39.802179" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.803049" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839ad0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.802677" elapsed="0.000415"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:39.796300" elapsed="0.006887"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.803720" 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-08-18T20:12:39.803337" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.804173" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:39.803929" 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-08-18T20:12:39.811854" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.811545" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.816897" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.817012" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.817108" 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-08-18T20:12:39.812006" elapsed="0.005127"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.817538" 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-08-18T20:12:39.817290" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.819774" 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-08-18T20:12:39.817726" elapsed="0.002139"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.822381" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.819970" elapsed="0.002503"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.819944" elapsed="0.002562"/>
</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-08-18T20:12:39.822699" 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-08-18T20:12:39.823077" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.822892" elapsed="0.000256"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.822867" elapsed="0.000313"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.823223" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:12:39.825462" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.825530" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.811237" elapsed="0.014330"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.828381" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.826354" elapsed="0.002072"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.826329" elapsed="0.002118"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.829001" 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-08-18T20:12:39.828590" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.829572" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.829184" elapsed="0.000415"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.829649" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:39.829844" 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-08-18T20:12:39.825896" elapsed="0.003974"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.830025" 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-08-18T20:12:39.810643" elapsed="0.019832"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.838211" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.837912" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.842875" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.843000" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.843101" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.838366" elapsed="0.004762"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.845827" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.843288" elapsed="0.002608"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.848924" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.846098" 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-08-18T20:12:39.851610" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.849099" elapsed="0.002592"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.849072" elapsed="0.002659"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.854332" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.854378" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.851931" elapsed="0.002469"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.856189" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.854475" elapsed="0.001769"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.854456" elapsed="0.001811"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.856300" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.856491" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.856532" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.837521" elapsed="0.019033"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.858660" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.857103" elapsed="0.001608"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.857086" elapsed="0.001647"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.859338" 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-08-18T20:12:39.858934" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.859887" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.859522" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.859961" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:39.860137" 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-08-18T20:12:39.856777" elapsed="0.003385"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.860357" 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-08-18T20:12:39.836906" elapsed="0.023915"/>
</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-08-18T20:12:39.792993" elapsed="0.067884"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.785891" elapsed="0.075095"/>
</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-08-18T20:12:39.871728" 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-08-18T20:12:39.871878" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:39.871590" elapsed="0.000317"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.872445" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987ced1c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.872056" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.872912" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.872621" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.873350" 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-08-18T20:12:39.873085" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.873799" 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-08-18T20:12:39.873520" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.874720" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.873969" elapsed="0.000795"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.875293" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.874964" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.875817" 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-08-18T20:12:39.875484" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.876329" 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-08-18T20:12:39.876006" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.876840" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:39.876517" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.877345" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.877033" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.877862" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987ced1c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.877535" 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-08-18T20:12:39.871263" elapsed="0.006694"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.878478" 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-08-18T20:12:39.878102" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.878925" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:12:39.878653" elapsed="0.000370"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.886587" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.886292" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.891615" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.891816" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.891977" 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-08-18T20:12:39.886738" elapsed="0.005275"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.892577" 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-08-18T20:12:39.892231" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.895563" 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-08-18T20:12:39.892857" elapsed="0.002776"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.898137" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.895730" elapsed="0.002501"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.895704" elapsed="0.002560"/>
</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-08-18T20:12:39.898457" 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-08-18T20:12:39.898781" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.898581" elapsed="0.000273"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.898559" elapsed="0.000327"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.898966" elapsed="0.000024"/>
</return>
<msg time="2026-08-18T20:12:39.900849" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.900893" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.885984" elapsed="0.014932"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.903030" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.901454" elapsed="0.001620"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.901436" elapsed="0.001660"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.903630" 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-08-18T20:12:39.903238" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.904176" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.903829" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.904252" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:12:39.904436" 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-08-18T20:12:39.901130" elapsed="0.003331"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.904612" 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-08-18T20:12:39.885422" elapsed="0.019647"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.912770" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.912459" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.917067" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.917214" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.917310" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.912924" elapsed="0.004410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.917735" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.917488" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.920078" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.917946" elapsed="0.002183"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.921932" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.920198" elapsed="0.001783"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.920179" elapsed="0.001824"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.925041" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.925104" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.922145" elapsed="0.002992"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:39.927573" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.925243" elapsed="0.002408"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.925218" elapsed="0.002465"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:39.927729" elapsed="0.000057"/>
</return>
<msg time="2026-08-18T20:12:39.928017" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:39.928075" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.912088" elapsed="0.016018"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.931075" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.928869" elapsed="0.002269"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.928845" elapsed="0.002324"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.931938" 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-08-18T20:12:39.931370" elapsed="0.000596"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.932469" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.932126" elapsed="0.000369"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.932544" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:39.932718" 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-08-18T20:12:39.928396" elapsed="0.004361"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.932914" elapsed="0.000378"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.911469" elapsed="0.021886"/>
</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-08-18T20:12:39.868025" elapsed="0.065385"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.861223" elapsed="0.072295"/>
</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-08-18T20:12:39.944192" 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-08-18T20:12:39.944329" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.944057" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:39.944970" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eafc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:39.944508" elapsed="0.000490"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.945465" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:39.945148" elapsed="0.000344"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.945936" 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-08-18T20:12:39.945642" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:39.946377" 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-08-18T20:12:39.946110" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.947392" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:39.946550" elapsed="0.000873"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.947927" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.947578" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.948435" 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-08-18T20:12:39.948119" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.948965" 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-08-18T20:12:39.948624" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.949463" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.949155" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.949985" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:39.949655" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.950488" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eafc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:39.950177" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:39.943721" elapsed="0.006862"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.951144" 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-08-18T20:12:39.950727" elapsed="0.000447"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.951568" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:39.951322" 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-08-18T20:12:39.959216" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.958903" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.964179" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.964341" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:39.964475" 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-08-18T20:12:39.959369" elapsed="0.005140"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.965158" 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-08-18T20:12:39.964805" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.968215" 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-08-18T20:12:39.965426" elapsed="0.002859"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:39.970863" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:39.968382" elapsed="0.002576"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.968356" 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-08-18T20:12:39.971242" 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-08-18T20:12:39.971559" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.971374" elapsed="0.000256"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:39.971351" elapsed="0.000316"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.971722" elapsed="0.000047"/>
</return>
<msg time="2026-08-18T20:12:39.973411" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:39.973456" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:39.958579" elapsed="0.014899"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.975635" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.974030" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.974013" elapsed="0.001690"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.976254" 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-08-18T20:12:39.975861" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.976800" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:39.976437" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:39.976876" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:39.977061" 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-08-18T20:12:39.973686" elapsed="0.003400"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:39.977240" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.958036" elapsed="0.019647"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.985560" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:39.985267" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:39.990084" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:39.990198" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:39.990293" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:39.985714" elapsed="0.004604"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.990725" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:39.990477" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:39.993086" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:39.990931" elapsed="0.002241"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:39.994978" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:39.993243" elapsed="0.001784"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.993224" elapsed="0.001825"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:39.998522" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:39.998585" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:39.995218" elapsed="0.003397"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:40.001092" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:39.998720" elapsed="0.002449"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:39.998694" elapsed="0.002508"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:40.001248" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:12:40.001515" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:40.001574" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:39.984895" elapsed="0.016710"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.004509" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.002459" elapsed="0.002095"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.002433" elapsed="0.002143"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.005131" 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-08-18T20:12:40.004720" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.005663" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.005316" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.005737" elapsed="0.000044"/>
</return>
<msg time="2026-08-18T20:12:40.005932" 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-08-18T20:12:40.002003" elapsed="0.003954"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:40.006109" elapsed="0.000379"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:39.984273" elapsed="0.022277"/>
</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-08-18T20:12:39.940521" elapsed="0.066084"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:39.933771" elapsed="0.072944"/>
</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-08-18T20:12:40.017345" 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-08-18T20:12:40.017474" 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-08-18T20:12:40.017209" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:40.018039" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6980&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:40.017650" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.018485" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:40.018214" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.018940" 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-08-18T20:12:40.018658" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.019421" 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-08-18T20:12:40.019144" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.020108" 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-08-18T20:12:40.019592" elapsed="0.000546"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.020611" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.020291" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.021358" 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-08-18T20:12:40.020860" elapsed="0.000541"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.021892" 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-08-18T20:12:40.021553" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.022392" 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-08-18T20:12:40.022082" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.022910" 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-08-18T20:12:40.022583" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.023430" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a6980&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.023100" 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-08-18T20:12:40.016886" elapsed="0.006639"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.024064" 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-08-18T20:12:40.023669" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.024478" 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-08-18T20:12:40.024240" elapsed="0.000294"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.032087" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:40.031793" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:40.037136" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:40.037307" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:40.037403" 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-08-18T20:12:40.032241" elapsed="0.005187"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.037911" 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-08-18T20:12:40.037586" elapsed="0.000370"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.040059" 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-08-18T20:12:40.038098" elapsed="0.002012"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:40.041946" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:12:40.040180" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.040161" elapsed="0.001876"/>
</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-08-18T20:12:40.042177" 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-08-18T20:12:40.042400" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:40.042266" elapsed="0.000186"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:40.042250" elapsed="0.000261"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.042548" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:12:40.044503" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:40.044565" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:40.031474" elapsed="0.013122"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.047624" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.045369" elapsed="0.002320"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.045344" elapsed="0.002377"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.048505" 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-08-18T20:12:40.047949" elapsed="0.000594"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.049280" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.048789" elapsed="0.000528"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.049388" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:12:40.049635" 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-08-18T20:12:40.044910" elapsed="0.004760"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:40.049911" elapsed="0.000634"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:40.030919" elapsed="0.019716"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.058858" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:40.058549" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:40.063703" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:40.063834" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:40.063936" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:40.059014" elapsed="0.004947"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.064372" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:40.064121" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.066734" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:40.064558" elapsed="0.002243"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.069162" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.066879" elapsed="0.002353"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.066861" elapsed="0.002403"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.072873" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:40.072938" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:40.069452" elapsed="0.003519"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:40.075517" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:40.073077" elapsed="0.002519"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.073051" elapsed="0.002585"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:40.075696" elapsed="0.000068"/>
</return>
<msg time="2026-08-18T20:12:40.075954" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:40.075998" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:40.058178" elapsed="0.017843"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.078213" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.076598" elapsed="0.001661"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.076581" elapsed="0.001701"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.078837" 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-08-18T20:12:40.078426" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.079387" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.079024" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.079465" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:40.079642" 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-08-18T20:12:40.076231" 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-08-18T20:12:40.079843" 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-08-18T20:12:40.057552" elapsed="0.022742"/>
</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-08-18T20:12:40.013696" elapsed="0.066656"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:40.006969" elapsed="0.073493"/>
</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-08-18T20:12:40.091469" 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-08-18T20:12:40.091599" 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-08-18T20:12:40.091330" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:40.092172" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2a70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:40.091792" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.092626" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:40.092350" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.093087" 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-08-18T20:12:40.092817" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.093528" 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-08-18T20:12:40.093261" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.094233" 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-08-18T20:12:40.093701" elapsed="0.000563"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.094737" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.094416" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.095278" 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-08-18T20:12:40.094946" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.095806" 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-08-18T20:12:40.095469" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.096303" 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-08-18T20:12:40.095995" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.097010" 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-08-18T20:12:40.096494" elapsed="0.000563"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.097529" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2a70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.097206" 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-08-18T20:12:40.090978" elapsed="0.006685"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.098224" 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-08-18T20:12:40.097839" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.098645" 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-08-18T20:12:40.098405" 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-08-18T20:12:40.106477" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:40.106182" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:40.112028" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:40.112154" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:40.112251" 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-08-18T20:12:40.106632" elapsed="0.005644"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.112690" 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-08-18T20:12:40.112436" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.114900" 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-08-18T20:12:40.112902" elapsed="0.002050"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:40.117305" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-08-18T20:12:40.115022" elapsed="0.002380"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.115003" elapsed="0.002433"/>
</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-08-18T20:12:40.117632" 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-08-18T20:12:40.117970" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:40.117779" elapsed="0.000263"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:40.117737" elapsed="0.000337"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.118118" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:40.120415" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:40.120477" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:40.105871" elapsed="0.014638"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.123551" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.121282" elapsed="0.002333"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.121258" elapsed="0.002393"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.124291" 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-08-18T20:12:40.123891" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.124847" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.124484" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.124961" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:40.125143" 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-08-18T20:12:40.120821" elapsed="0.004347"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:40.125322" 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-08-18T20:12:40.105304" elapsed="0.020490"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.133664" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:40.133365" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:40.138330" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:40.138466" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:40.138563" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:40.133835" elapsed="0.004753"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.139019" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:40.138766" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.142209" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:40.139202" elapsed="0.003082"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.145001" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.142387" elapsed="0.002688"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.142358" elapsed="0.002751"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.148512" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:40.148557" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:40.145310" elapsed="0.003270"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:40.150340" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:40.148656" elapsed="0.001739"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.148638" elapsed="0.001781"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:40.150453" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:40.150645" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:40.150688" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:40.132990" elapsed="0.017720"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.152841" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.151262" elapsed="0.001623"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.151244" elapsed="0.001663"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.153444" 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-08-18T20:12:40.153051" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.153990" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.153627" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.154065" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:40.154240" 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-08-18T20:12:40.150937" elapsed="0.003328"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:40.154418" 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-08-18T20:12:40.132351" elapsed="0.022583"/>
</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-08-18T20:12:40.087690" elapsed="0.067304"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:40.080705" elapsed="0.074414"/>
</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-08-18T20:12:40.165913" 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-08-18T20:12:40.166061" 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-08-18T20:12:40.165767" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:40.166631" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f05e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:40.166241" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.167106" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:40.166825" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.167590" 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-08-18T20:12:40.167284" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.168049" 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-08-18T20:12:40.167780" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.168762" 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-08-18T20:12:40.168222" elapsed="0.000571"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.169273" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.168949" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.169794" 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-08-18T20:12:40.169465" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.170306" 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-08-18T20:12:40.169986" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.171002" 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-08-18T20:12:40.170493" elapsed="0.000554"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.171542" 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-08-18T20:12:40.171197" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.172071" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f05e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.171736" 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-08-18T20:12:40.165425" elapsed="0.006742"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.172690" 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-08-18T20:12:40.172313" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.173121" 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-08-18T20:12:40.172882" 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-08-18T20:12:40.180896" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:40.180581" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:40.185368" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:40.185506" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:40.185604" 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-08-18T20:12:40.181052" elapsed="0.004577"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.186059" 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-08-18T20:12:40.185806" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.188524" 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-08-18T20:12:40.186244" 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-08-18T20:12:40.191282" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-08-18T20:12:40.188704" elapsed="0.002677"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.188676" elapsed="0.002766"/>
</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-08-18T20:12:40.191656" 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-08-18T20:12:40.192007" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:40.191812" elapsed="0.000271"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:40.191786" elapsed="0.000330"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.192163" elapsed="0.000021"/>
</return>
<msg time="2026-08-18T20:12:40.194545" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:40.194611" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:40.180271" elapsed="0.014372"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.197122" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.195501" elapsed="0.001665"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.195470" elapsed="0.001718"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.197726" 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-08-18T20:12:40.197333" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.198274" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.197927" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.198348" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:40.198523" 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-08-18T20:12:40.194972" elapsed="0.003576"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:40.198701" 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-08-18T20:12:40.179707" elapsed="0.019459"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.206813" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:40.206501" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:40.211492" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:40.211653" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:40.211836" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:40.206965" elapsed="0.004917"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.212454" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:40.212107" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.215684" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:40.212709" 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-08-18T20:12:40.218276" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.215874" elapsed="0.002469"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.215848" elapsed="0.002526"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.221374" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:40.221420" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:40.218563" elapsed="0.002881"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:40.223192" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:40.221520" elapsed="0.001728"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.221502" elapsed="0.001770"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:40.223306" elapsed="0.000026"/>
</return>
<msg time="2026-08-18T20:12:40.223528" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:40.223574" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:40.206132" elapsed="0.017465"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.225691" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.224150" elapsed="0.001585"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.224133" elapsed="0.001638"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.226310" 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-08-18T20:12:40.225917" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.226860" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.226495" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.226936" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:40.227111" 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-08-18T20:12:40.223824" elapsed="0.003313"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:40.227289" 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-08-18T20:12:40.205514" elapsed="0.022281"/>
</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-08-18T20:12:40.162198" elapsed="0.065654"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:40.155427" elapsed="0.072539"/>
</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-08-18T20:12:40.238569" 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-08-18T20:12:40.238703" 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-08-18T20:12:40.238432" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:40.239278" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c4f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:40.238894" elapsed="0.000412"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.239820" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:40.239453" elapsed="0.000394"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.240269" 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-08-18T20:12:40.239998" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.240711" 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-08-18T20:12:40.240444" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.241423" 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-08-18T20:12:40.240901" elapsed="0.000552"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.241946" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.241607" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.242451" 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-08-18T20:12:40.242138" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.243156" 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-08-18T20:12:40.242640" elapsed="0.000558"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.243702" 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-08-18T20:12:40.243349" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.244230" 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-08-18T20:12:40.243916" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.244736" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c4f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.244424" 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-08-18T20:12:40.238109" elapsed="0.006740"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.245372" 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-08-18T20:12:40.244995" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.245803" 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-08-18T20:12:40.245548" 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-08-18T20:12:40.253420" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:40.253127" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:40.259008" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:40.259127" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:40.259222" 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-08-18T20:12:40.253571" elapsed="0.005676"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.259761" 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-08-18T20:12:40.259438" elapsed="0.000372"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.262407" 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-08-18T20:12:40.259952" elapsed="0.002526"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:40.264988" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:12:40.262575" elapsed="0.002506"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.262548" elapsed="0.002567"/>
</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-08-18T20:12:40.265306" 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-08-18T20:12:40.265613" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:40.265431" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:40.265409" elapsed="0.000306"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.265783" elapsed="0.000021"/>
</return>
<msg time="2026-08-18T20:12:40.268034" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:40.268095" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:40.252816" 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-08-18T20:12:40.270444" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.268898" elapsed="0.001591"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.268876" elapsed="0.001635"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.271062" 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-08-18T20:12:40.270654" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.271601" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.271247" elapsed="0.000380"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.271677" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:40.271873" 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-08-18T20:12:40.268415" elapsed="0.003483"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:40.272051" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:40.252255" elapsed="0.020238"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.280138" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:40.279845" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:40.285598" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:40.285736" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:40.285930" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:40.280291" elapsed="0.005673"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.286525" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:40.286180" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.291928" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:40.286803" elapsed="0.005196"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.294543" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.292146" elapsed="0.002464"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.292119" elapsed="0.002522"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.297817" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:40.297863" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:40.294849" 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-08-18T20:12:40.299634" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:40.297962" elapsed="0.001729"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.297943" elapsed="0.001772"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:40.299762" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:12:40.299958" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:40.300001" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:40.279438" elapsed="0.020585"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.302120" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.300556" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.300539" elapsed="0.001647"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.302721" 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-08-18T20:12:40.302328" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.303266" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.302921" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.303340" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:40.303516" 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-08-18T20:12:40.300231" elapsed="0.003310"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:40.303717" 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-08-18T20:12:40.278835" elapsed="0.025345"/>
</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-08-18T20:12:40.234925" elapsed="0.069309"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:40.228215" elapsed="0.076131"/>
</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-08-18T20:12:40.315020" 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-08-18T20:12:40.315153" 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-08-18T20:12:40.314883" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:40.315720" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570f240&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:40.315329" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.316183" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:40.315910" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.316618" 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-08-18T20:12:40.316355" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.317072" 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-08-18T20:12:40.316806" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.317828" 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-08-18T20:12:40.317241" elapsed="0.000617"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.318330" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.318008" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.319100" 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-08-18T20:12:40.318520" elapsed="0.000623"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.319616" 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-08-18T20:12:40.319293" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.320163" 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-08-18T20:12:40.319852" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.320668" 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-08-18T20:12:40.320354" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.321189" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570f240&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.320875" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:40.314546" elapsed="0.006739"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.321817" 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-08-18T20:12:40.321427" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.322228" 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-08-18T20:12:40.321992" 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-08-18T20:12:40.329822" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:40.329515" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:40.334874" level="INFO">GET Request : url=http://10.30.171.138: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=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:40.334991" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:12:40.335088" 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-08-18T20:12:40.329974" elapsed="0.005139"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.335516" 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-08-18T20:12:40.335268" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.338123" 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-08-18T20:12:40.335730" elapsed="0.002463"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:12:40.340738" elapsed="0.000059"/>
</return>
<status status="PASS" start="2026-08-18T20:12:40.338289" elapsed="0.002561"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.338263" elapsed="0.002620"/>
</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-08-18T20:12:40.341076" 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-08-18T20:12:40.341434" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:40.341249" elapsed="0.000257"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:12:40.341224" elapsed="0.000314"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.341583" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:12:40.343856" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:12:40.343918" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:12:40.329209" elapsed="0.014740"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.346334" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.344700" elapsed="0.001679"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.344670" elapsed="0.001731"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.346955" 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-08-18T20:12:40.346543" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.347484" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.347139" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.347560" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:12:40.347764" 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-08-18T20:12:40.344236" elapsed="0.003555"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:40.347945" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:12:40.328654" elapsed="0.019734"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.356068" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:12:40.355769" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:40.360691" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node01sgakziyf1ppj1loe5voyqovm18.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:40.360909" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:12:40.361047" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:12:40.356219" elapsed="0.004863"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.361642" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:40.361298" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.364873" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:12:40.361918" elapsed="0.003026"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.367444" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.365039" elapsed="0.002473"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.365014" elapsed="0.002528"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.371090" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:12:40.371154" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:12:40.367742" elapsed="0.003444"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:12:40.373470" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:12:40.371292" elapsed="0.002234"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.371266" elapsed="0.002283"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:12:40.373583" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:12:40.373788" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:12:40.373832" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:12:40.355350" elapsed="0.018504"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:12:40.376004" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:12:40.374430" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:12:40.374412" elapsed="0.001658"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.376619" 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-08-18T20:12:40.376223" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.377176" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:12:40.376825" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:12:40.377253" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:12:40.377431" 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-08-18T20:12:40.374103" elapsed="0.003353"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:12:40.377610" 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-08-18T20:12:40.354733" elapsed="0.023339"/>
</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-08-18T20:12:40.311342" elapsed="0.066786"/>
</kw>
<status status="PASS" start="2026-08-18T20:12:40.304590" elapsed="0.073645"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-08-18T20:12:40.379186" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:12:40.379108" elapsed="0.000142"/>
</kw>
<doc>Test suite for Stats Manager flows collection</doc>
<status status="PASS" start="2026-08-18T20:12:04.749827" elapsed="35.629455"/>
</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-08-18T20:12:40.431540" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={'Content-Type': 'application/xml'},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a9852654d0&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-08-18T20:12:40.431218" elapsed="0.000475"/>
</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-08-18T20:12:40.449309" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:12:40.449518" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 status=200, reason=OK 
 headers={'Set-Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:12:40 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":58036,"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":1,"packets-matched":"16"},"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":"16","byte-count":"1272","duration":{"second":33,"nanosecond":438000000}},"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-08-18T20:12:40.449761" 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-08-18T20:12:40.435713" elapsed="0.014077"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.451939" level="INFO">{"opendaylight-inventory:node":[{"id":"openflow:1","flow-node-inventory:port-number":58036,"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":1,"packets-matched":"16"},"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":"16","byte-count":"1272","duration":{"second":33,"nanosecond":438000000}},"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-08-18T20:12:38.362Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ca:f8:ee:d6:7a:e3","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":"17","received":"9"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":33,"nanosecond":638000000},"bytes":{"transmitted":"1406","received":"726"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"b2:9d:86:cb:2a:4f","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":33,"nanosecond":631000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"26:b5:c0:8b:6e:19","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":"17","received":"9"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":33,"nanosecond":638000000},"bytes":{"transmitted":"1406","received":"726"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","flow-node-inventory:serial-number":"None","flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:12:38.379Z"}}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:40.449958" elapsed="0.002368"/>
</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-08-18T20:12:40.452482" elapsed="0.004346"/>
</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-08-18T20:12:40.457176" elapsed="0.004053"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-08-18T20:12:40.435598" elapsed="0.025673"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-08-18T20:12:40.433727" elapsed="0.027579"/>
</for>
<arg>${1}</arg>
<doc>Check all switches and stats in operational inventory</doc>
<status status="PASS" start="2026-08-18T20:12:40.432417" elapsed="0.028951"/>
</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-08-18T20:12:40.431882" elapsed="0.029536"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:12:40.464068" 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-08-18T20:12:40.461568" elapsed="0.002555"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:12:40.487802" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=35.542s, table=0, n_packets=16, n_bytes=1272, 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-08-18T20:12:40.464274" elapsed="0.023587"/>
</kw>
<doc>Initiate tcp connection with controller</doc>
<status status="PASS" start="2026-08-18T20:12:40.430997" elapsed="0.056933"/>
</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-08-18T20:12:40.488924" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:40.488651" 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-08-18T20:12:40.492270" 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-08-18T20:12:40.492418" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:40.492133" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:40.493015" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913dd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:40.492596" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.493472" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:40.493193" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.493929" 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-08-18T20:12:40.493646" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:40.494367" 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-08-18T20:12:40.494102" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:40.495322" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:40.494537" elapsed="0.000816"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.495854" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.495512" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.496372" 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-08-18T20:12:40.496060" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.496898" 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-08-18T20:12:40.496565" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.497387" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:40.497090" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.497900" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:40.497582" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:40.498396" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913dd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:40.498094" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:40.491773" elapsed="0.006718"/>
</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-08-18T20:12:40.502768" level="INFO">${req} = &lt;Element 'flow' at 0x79a9857f06d0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:40.502412" 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-08-18T20:12:40.502941" 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-08-18T20:12:40.503358" elapsed="0.000237"/>
</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-08-18T20:12:40.503740" elapsed="0.000271"/>
</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-08-18T20:12:40.504160" elapsed="0.000534"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:40.505134" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a988300900&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-08-18T20:12:40.504866" 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-08-18T20:12:40.505306" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:40.506168" 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-08-18T20:12:40.505691" elapsed="0.000538"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:40.506769" 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-08-18T20:12:40.506373" elapsed="0.000427"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:41.050042" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:41.050222" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:41.050542" 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-08-18T20:12:40.506929" elapsed="0.543675"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.055089" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:41.051133" elapsed="0.004020"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985913dd0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985913dd0&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-08-18T20:12:40.502059" elapsed="0.553186"/>
</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-08-18T20:12:40.498638" elapsed="0.556689"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-08-18T20:12:40.488524" elapsed="0.566856"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.056101" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:41.055729" 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-08-18T20:12:41.061507" 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-08-18T20:12:41.061731" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:41.061237" elapsed="0.000607"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:41.062460" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c1acf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:41.062007" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:41.062983" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:41.062646" elapsed="0.000371"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:41.063465" 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-08-18T20:12:41.063175" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:41.063937" 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-08-18T20:12:41.063644" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:41.064995" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:41.064116" elapsed="0.000911"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.065535" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:41.065192" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.066060" 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-08-18T20:12:41.065731" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.066578" 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-08-18T20:12:41.066261" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.067088" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:41.066785" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.067603" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:41.067297" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.068127" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c1acf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:41.067820" 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-08-18T20:12:41.060628" elapsed="0.007602"/>
</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-08-18T20:12:41.072945" level="INFO">${req} = &lt;Element 'flow' at 0x79a987c38b80&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:41.072531" 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-08-18T20:12:41.073131" 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-08-18T20:12:41.073582" 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-08-18T20:12:41.073995" elapsed="0.000254"/>
</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-08-18T20:12:41.074400" elapsed="0.000360"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:41.075183" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9857f3c40&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-08-18T20:12:41.074915" 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-08-18T20:12:41.075369" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:41.076152" 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-08-18T20:12:41.075776" elapsed="0.000439"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:41.076860" 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-08-18T20:12:41.076419" elapsed="0.000474"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:41.548564" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:41.548791" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:41.549082" 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-08-18T20:12:41.077027" elapsed="0.472116"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.554297" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:41.549625" elapsed="0.004770"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a987c1acf0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a987c1acf0&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-08-18T20:12:41.072120" elapsed="0.482417"/>
</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-08-18T20:12:41.068392" elapsed="0.486262"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-08-18T20:12:41.055542" elapsed="0.499189"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.555450" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:41.555102" 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-08-18T20:12:41.559887" 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-08-18T20:12:41.560068" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:41.559725" elapsed="0.000372"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:41.560667" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c040&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:41.560247" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:41.561143" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:41.560862" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:41.561602" 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-08-18T20:12:41.561322" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:41.562116" 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-08-18T20:12:41.561812" elapsed="0.000332"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:41.562923" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:41.562296" elapsed="0.000657"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.563431" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:41.563111" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.564152" 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-08-18T20:12:41.563621" elapsed="0.000573"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.564651" 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-08-18T20:12:41.564343" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.565157" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:41.564859" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.565758" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:41.565411" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:41.566262" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c040&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:41.565955" 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-08-18T20:12:41.559370" elapsed="0.006990"/>
</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-08-18T20:12:41.570565" level="INFO">${req} = &lt;Element 'flow' at 0x79a9857f3380&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:41.570238" elapsed="0.000354"/>
</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-08-18T20:12:41.570740" elapsed="0.000294"/>
</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-08-18T20:12:41.571206" 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-08-18T20:12:41.571616" 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-08-18T20:12:41.572042" elapsed="0.000357"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:41.572855" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9859139c0&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-08-18T20:12:41.572559" elapsed="0.000324"/>
</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-08-18T20:12:41.573035" elapsed="0.000262"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:41.573879" 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-08-18T20:12:41.573454" elapsed="0.000488"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:41.574504" 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-08-18T20:12:41.574092" elapsed="0.000443"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:42.049556" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:42.049714" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:42.050042" 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-08-18T20:12:41.574695" elapsed="0.475409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.055192" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:42.050633" elapsed="0.004655"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a98570c040&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a98570c040&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-08-18T20:12:41.569878" elapsed="0.485548"/>
</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-08-18T20:12:41.566508" elapsed="0.489149"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-08-18T20:12:41.554917" elapsed="0.500822"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.056893" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:42.056305" 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-08-18T20:12:42.061422" 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-08-18T20:12:42.061579" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:42.061276" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:42.062195" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570d5d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:42.061775" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:42.062671" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:42.062392" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:42.063132" 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-08-18T20:12:42.062864" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:42.063575" 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-08-18T20:12:42.063308" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:42.064413" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:42.063764" elapsed="0.000679"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.064939" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:42.064601" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.065433" 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-08-18T20:12:42.065131" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.065946" 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-08-18T20:12:42.065622" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.066467" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:42.066134" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.067189" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:42.066661" elapsed="0.000575"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.067696" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570d5d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:42.067387" 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-08-18T20:12:42.060926" elapsed="0.006888"/>
</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-08-18T20:12:42.071991" level="INFO">${req} = &lt;Element 'flow' at 0x79a9863a5530&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:42.071639" 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-08-18T20:12:42.072163" 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-08-18T20:12:42.072577" 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-08-18T20:12:42.072977" 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-08-18T20:12:42.073369" elapsed="0.000332"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:42.074132" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9863a7e20&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-08-18T20:12:42.073866" 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-08-18T20:12:42.074333" elapsed="0.000253"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:42.075163" 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-08-18T20:12:42.074792" elapsed="0.000434"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:42.075782" 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-08-18T20:12:42.075372" elapsed="0.000442"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:42.551192" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:42.551378" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:42.551667" 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-08-18T20:12:42.075944" elapsed="0.475785"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.556861" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:42.552225" elapsed="0.004738"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a98570d5d0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a98570d5d0&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-08-18T20:12:42.071288" elapsed="0.485815"/>
</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-08-18T20:12:42.067964" elapsed="0.489259"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-08-18T20:12:42.056016" elapsed="0.501289"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.558433" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:42.557871" elapsed="0.000661"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:42.563907" 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-08-18T20:12:42.564124" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:42.563686" elapsed="0.000479"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:42.564986" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea3e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:42.564376" elapsed="0.000649"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:42.565622" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:42.565235" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:42.566264" 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-08-18T20:12:42.565888" elapsed="0.000413"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:42.566901" 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-08-18T20:12:42.566508" elapsed="0.000430"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:42.568161" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:42.567249" elapsed="0.000943"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.568679" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:42.568351" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.569192" 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-08-18T20:12:42.568888" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.569690" 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-08-18T20:12:42.569382" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.570408" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:42.569906" elapsed="0.000549"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.570933" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:42.570607" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:42.571454" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea3e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:42.571148" 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-08-18T20:12:42.563201" elapsed="0.008349"/>
</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-08-18T20:12:42.575790" level="INFO">${req} = &lt;Element 'flow' at 0x79a98570e980&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:42.575433" elapsed="0.000388"/>
</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-08-18T20:12:42.575965" elapsed="0.000263"/>
</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-08-18T20:12:42.576377" elapsed="0.000235"/>
</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-08-18T20:12:42.576771" 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-08-18T20:12:42.577159" elapsed="0.000335"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:42.577923" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985911fd0&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-08-18T20:12:42.577643" 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-08-18T20:12:42.578093" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:42.578859" 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-08-18T20:12:42.578477" elapsed="0.000446"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:42.579465" 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-08-18T20:12:42.579075" elapsed="0.000420"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:43.052273" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:43.052595" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:43.053022" 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-08-18T20:12:42.579622" elapsed="0.473468"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.058152" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:43.053553" elapsed="0.004698"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9856ea3e0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9856ea3e0&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-08-18T20:12:42.575078" elapsed="0.483313"/>
</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-08-18T20:12:42.571699" elapsed="0.486811"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-08-18T20:12:42.557550" elapsed="0.501043"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.059809" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:43.059169" elapsed="0.000746"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:43.065053" 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-08-18T20:12:43.065264" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:43.064853" elapsed="0.000452"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:43.066113" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839300&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:43.065514" elapsed="0.000639"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:43.066779" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:43.066363" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:43.067500" 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-08-18T20:12:43.067032" elapsed="0.000507"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:43.068237" 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-08-18T20:12:43.067839" elapsed="0.000435"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:43.069275" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:43.068484" elapsed="0.000823"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.069808" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:43.069468" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.070304" 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-08-18T20:12:43.070001" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.070815" 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-08-18T20:12:43.070492" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.071519" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:43.071005" elapsed="0.000562"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.072072" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:43.071731" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.072587" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839300&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:43.072271" 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-08-18T20:12:43.064343" elapsed="0.008348"/>
</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-08-18T20:12:43.076989" level="INFO">${req} = &lt;Element 'flow' at 0x79a9856e8900&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:43.076628" 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-08-18T20:12:43.077162" 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-08-18T20:12:43.077582" 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-08-18T20:12:43.078031" 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-08-18T20:12:43.078436" elapsed="0.000363"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:43.079227" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985911fd0&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-08-18T20:12:43.078956" 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-08-18T20:12:43.079399" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:43.080200" 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-08-18T20:12:43.079830" elapsed="0.000433"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:43.080820" 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-08-18T20:12:43.080408" elapsed="0.000443"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:43.553378" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:43.553534" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:43.553815" 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-08-18T20:12:43.080979" elapsed="0.472899"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.558982" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:43.554284" elapsed="0.004799"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985839300&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985839300&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-08-18T20:12:43.076272" elapsed="0.482946"/>
</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-08-18T20:12:43.072856" elapsed="0.486482"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-08-18T20:12:43.058876" elapsed="0.500539"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.560648" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:43.559973" elapsed="0.000808"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:43.566578" 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-08-18T20:12:43.566724" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:43.566434" elapsed="0.000334"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:43.567396" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839d00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:43.566970" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:43.567874" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:43.567574" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:43.568347" 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-08-18T20:12:43.568051" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:43.568821" 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-08-18T20:12:43.568532" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:43.569713" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:43.568998" elapsed="0.000763"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.570239" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:43.569921" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.570737" 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-08-18T20:12:43.570428" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.571453" 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-08-18T20:12:43.570947" elapsed="0.000548"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.571961" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:43.571643" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.572471" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:43.572151" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:43.572985" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839d00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:43.572667" 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-08-18T20:12:43.566086" elapsed="0.006994"/>
</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-08-18T20:12:43.577264" level="INFO">${req} = &lt;Element 'flow' at 0x79a98570f2e0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:43.576915" 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-08-18T20:12:43.577432" elapsed="0.000261"/>
</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-08-18T20:12:43.577856" elapsed="0.000235"/>
</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-08-18T20:12:43.578235" elapsed="0.000239"/>
</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-08-18T20:12:43.578618" elapsed="0.000344"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:43.579369" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a987c2a480&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-08-18T20:12:43.579109" elapsed="0.000287"/>
</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-08-18T20:12:43.579537" elapsed="0.000255"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:43.580324" 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-08-18T20:12:43.579937" elapsed="0.000496"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:43.580998" 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-08-18T20:12:43.580578" elapsed="0.000451"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:44.054054" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:44.054208" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:44.054442" 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-08-18T20:12:43.581156" elapsed="0.473343"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.059353" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:44.054924" elapsed="0.004525"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985839d00&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985839d00&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-08-18T20:12:43.576547" elapsed="0.483032"/>
</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-08-18T20:12:43.573224" elapsed="0.486473"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-08-18T20:12:43.559646" elapsed="0.500170"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.060995" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:44.060353" elapsed="0.000744"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:44.065023" 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-08-18T20:12:44.065165" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:44.064871" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:44.065784" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583b920&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:44.065341" elapsed="0.000472"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:44.066235" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:44.065961" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:44.066673" 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-08-18T20:12:44.066409" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:44.067131" 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-08-18T20:12:44.066862" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:44.069446" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:44.067302" elapsed="0.002176"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.069988" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:44.069637" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.070489" 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-08-18T20:12:44.070182" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.071052" 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-08-18T20:12:44.070719" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.071536" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:44.071240" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.072051" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:44.071726" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.072550" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583b920&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:44.072241" 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-08-18T20:12:44.064520" elapsed="0.008127"/>
</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-08-18T20:12:44.076864" level="INFO">${req} = &lt;Element 'flow' at 0x79a987c2bd30&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:44.076492" 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-08-18T20:12:44.077073" 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-08-18T20:12:44.077494" elapsed="0.000237"/>
</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-08-18T20:12:44.077892" 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-08-18T20:12:44.078280" elapsed="0.000329"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:44.079038" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a987cec7c0&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-08-18T20:12:44.078772" 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-08-18T20:12:44.079207" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:44.080003" 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-08-18T20:12:44.079596" elapsed="0.000475"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:44.080630" 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-08-18T20:12:44.080215" elapsed="0.000446"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:44.554579" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:44.554865" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:44.555112" 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-08-18T20:12:44.080803" elapsed="0.474368"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.559290" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:44.555556" elapsed="0.003797"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a98583b920&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a98583b920&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-08-18T20:12:44.076141" elapsed="0.483298"/>
</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-08-18T20:12:44.072810" elapsed="0.486703"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-08-18T20:12:44.060070" elapsed="0.499492"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.560263" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:44.559914" 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-08-18T20:12:44.565092" 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-08-18T20:12:44.565280" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:44.564899" elapsed="0.000429"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:44.566183" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a49a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:44.565592" elapsed="0.000620"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:44.566637" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:44.566362" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:44.567103" 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-08-18T20:12:44.566827" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:44.567551" 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-08-18T20:12:44.567280" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:44.568653" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:44.567726" elapsed="0.000958"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.569191" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:44.568864" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.569699" 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-08-18T20:12:44.569382" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.570253" 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-08-18T20:12:44.569941" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.570740" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:44.570441" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.571249" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:44.570948" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:44.571757" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a49a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:44.571441" 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-08-18T20:12:44.564411" elapsed="0.007444"/>
</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-08-18T20:12:44.576042" level="INFO">${req} = &lt;Element 'flow' at 0x79a9856eb100&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:44.575668" 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-08-18T20:12:44.576211" 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-08-18T20:12:44.576631" 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-08-18T20:12:44.577065" 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-08-18T20:12:44.577461" elapsed="0.000362"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:44.578242" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856e8900&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-08-18T20:12:44.577974" 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-08-18T20:12:44.578410" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:44.579200" 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-08-18T20:12:44.578816" elapsed="0.000450"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:44.579838" 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-08-18T20:12:44.579412" elapsed="0.000457"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:45.056150" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:45.056253" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:45.056414" 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-08-18T20:12:44.580001" elapsed="0.476440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.058872" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:45.056690" elapsed="0.002226"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9863a49a0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9863a49a0&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-08-18T20:12:44.575318" elapsed="0.483666"/>
</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-08-18T20:12:44.572001" elapsed="0.487042"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-08-18T20:12:44.559710" elapsed="0.499370"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.059585" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:45.059336" 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-08-18T20:12:45.063335" 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-08-18T20:12:45.063544" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:45.063132" elapsed="0.000452"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:45.064423" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913240&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:45.063816" elapsed="0.000646"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:45.065086" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:45.064670" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:45.065714" 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-08-18T20:12:45.065337" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:45.066394" 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-08-18T20:12:45.065982" elapsed="0.000449"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:45.067982" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:45.066639" elapsed="0.001386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.068691" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:45.068244" elapsed="0.000526"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.069405" 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-08-18T20:12:45.068981" elapsed="0.000482"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.070188" 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-08-18T20:12:45.069670" elapsed="0.000581"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.070895" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:45.070461" elapsed="0.000479"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.071392" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:45.071088" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.071901" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913240&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:45.071584" 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-08-18T20:12:45.062589" elapsed="0.009407"/>
</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-08-18T20:12:45.076236" level="INFO">${req} = &lt;Element 'flow' at 0x79a9856eb1f0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:45.075877" 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-08-18T20:12:45.076404" elapsed="0.000260"/>
</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-08-18T20:12:45.076825" elapsed="0.000234"/>
</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-08-18T20:12:45.077202" elapsed="0.000237"/>
</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-08-18T20:12:45.077584" elapsed="0.000345"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:45.078394" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856ebfb0&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-08-18T20:12:45.078110" 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-08-18T20:12:45.078566" elapsed="0.000259"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:45.079366" 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-08-18T20:12:45.078971" elapsed="0.000501"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:45.080049" 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-08-18T20:12:45.079616" elapsed="0.000463"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:45.557365" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:45.557523" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:45.557797" 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-08-18T20:12:45.080207" elapsed="0.477654"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.562816" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:45.558246" elapsed="0.004676"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985913240&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985913240&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-08-18T20:12:45.075481" elapsed="0.487575"/>
</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-08-18T20:12:45.072143" elapsed="0.491031"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-08-18T20:12:45.059203" elapsed="0.504050"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.564393" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:45.563827" elapsed="0.000666"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:45.569368" 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-08-18T20:12:45.569518" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:45.569214" elapsed="0.000334"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:45.570165" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630c680&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:45.569702" elapsed="0.000493"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:45.570650" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:45.570348" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:45.571136" 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-08-18T20:12:45.570852" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:45.571606" 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-08-18T20:12:45.571321" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:45.572760" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:45.571796" elapsed="0.000998"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.573288" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:45.572959" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.573860" 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-08-18T20:12:45.573483" elapsed="0.000428"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.574381" 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-08-18T20:12:45.574065" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.574934" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:45.574572" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.575432" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:45.575129" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:45.575941" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630c680&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:45.575623" 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-08-18T20:12:45.568856" elapsed="0.007181"/>
</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-08-18T20:12:45.580244" level="INFO">${req} = &lt;Element 'flow' at 0x79a98570c8b0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:45.579889" 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-08-18T20:12:45.580413" 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-08-18T20:12:45.580861" elapsed="0.000250"/>
</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-08-18T20:12:45.581255" elapsed="0.000239"/>
</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-08-18T20:12:45.581640" elapsed="0.000349"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:45.582402" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98570e480&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-08-18T20:12:45.582138" 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-08-18T20:12:45.582577" elapsed="0.000292"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:45.583394" 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-08-18T20:12:45.583013" elapsed="0.000448"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:45.584030" 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-08-18T20:12:45.583603" elapsed="0.000457"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:46.058441" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:46.058806" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:46.059096" 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-08-18T20:12:45.584188" elapsed="0.474970"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.064123" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:46.059590" elapsed="0.004632"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a98630c680&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a98630c680&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-08-18T20:12:45.579520" elapsed="0.484866"/>
</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-08-18T20:12:45.576183" elapsed="0.488323"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-08-18T20:12:45.563484" elapsed="0.501104"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.065700" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:46.065142" 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-08-18T20:12:46.070509" 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-08-18T20:12:46.070669" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:46.070366" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:46.071325" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838ea0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:46.070880" elapsed="0.000473"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:46.071796" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:46.071501" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:46.072236" 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-08-18T20:12:46.071971" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:46.072678" 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-08-18T20:12:46.072411" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:46.073849" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:46.072870" elapsed="0.001011"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.074363" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:46.074040" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.074884" 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-08-18T20:12:46.074554" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.075384" 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-08-18T20:12:46.075074" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.075889" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:46.075571" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.076382" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:46.076082" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.076889" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838ea0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:46.076573" 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-08-18T20:12:46.070019" elapsed="0.006965"/>
</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-08-18T20:12:46.081159" level="INFO">${req} = &lt;Element 'flow' at 0x79a98570c040&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:46.080802" 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-08-18T20:12:46.081328" elapsed="0.000261"/>
</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-08-18T20:12:46.081733" 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-08-18T20:12:46.082166" 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-08-18T20:12:46.082560" elapsed="0.000371"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:46.083343" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856e9170&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-08-18T20:12:46.083080" elapsed="0.000290"/>
</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-08-18T20:12:46.083514" elapsed="0.000256"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:46.084319" 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-08-18T20:12:46.083916" elapsed="0.000473"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:46.084960" 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-08-18T20:12:46.084532" elapsed="0.000459"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:46.559477" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:46.559634" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:46.559917" 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-08-18T20:12:46.085118" elapsed="0.474858"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.564778" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:46.560354" elapsed="0.004523"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985838ea0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985838ea0&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-08-18T20:12:46.080440" elapsed="0.484564"/>
</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-08-18T20:12:46.077129" elapsed="0.488034"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-08-18T20:12:46.064856" elapsed="0.500468"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.566471" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:46.565906" elapsed="0.000666"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:46.571912" 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-08-18T20:12:46.572046" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:46.571766" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:46.572636" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986357600&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:46.572224" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:46.573118" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:46.572841" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:46.573566" 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-08-18T20:12:46.573299" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:46.574184" 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-08-18T20:12:46.573739" elapsed="0.000471"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:46.575036" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:46.574358" elapsed="0.000708"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.575535" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:46.575219" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.576053" 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-08-18T20:12:46.575733" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.576548" 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-08-18T20:12:46.576242" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.577070" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:46.576768" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.577572" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:46.577266" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:46.578083" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986357600&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:46.577775" 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-08-18T20:12:46.571415" elapsed="0.006762"/>
</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-08-18T20:12:46.582413" level="INFO">${req} = &lt;Element 'flow' at 0x79a985838270&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:46.582072" elapsed="0.000368"/>
</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-08-18T20:12:46.582581" 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-08-18T20:12:46.583004" elapsed="0.000233"/>
</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-08-18T20:12:46.583382" elapsed="0.000239"/>
</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-08-18T20:12:46.583781" elapsed="0.000327"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:46.584541" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98583a020&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-08-18T20:12:46.584274" 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-08-18T20:12:46.584710" elapsed="0.000261"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:46.585468" 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-08-18T20:12:46.585113" elapsed="0.000457"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:46.586127" 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-08-18T20:12:46.585715" elapsed="0.000443"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:47.060573" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:47.060680" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:47.060873" 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-08-18T20:12:46.586285" elapsed="0.474617"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.063702" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:47.061157" elapsed="0.002705"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a986357600&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a986357600&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-08-18T20:12:46.581703" elapsed="0.482260"/>
</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-08-18T20:12:46.578327" elapsed="0.485713"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-08-18T20:12:46.565558" elapsed="0.498532"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.064807" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:47.064436" 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-08-18T20:12:47.072254" 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-08-18T20:12:47.072421" 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-08-18T20:12:47.072107" elapsed="0.000344"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:47.073048" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863231a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:47.072601" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:47.073508" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:47.073228" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:47.073970" 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-08-18T20:12:47.073682" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:47.074408" 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-08-18T20:12:47.074142" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:47.075295" 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-08-18T20:12:47.074581" elapsed="0.000746"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.075831" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:47.075486" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.076330" 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-08-18T20:12:47.076025" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.076904" 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-08-18T20:12:47.076574" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.077392" 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-08-18T20:12:47.077093" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.077905" 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-08-18T20:12:47.077585" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.078402" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863231a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:47.078099" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:47.071421" elapsed="0.007075"/>
</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-08-18T20:12:47.082651" level="INFO">${req} = &lt;Element 'flow' at 0x79a9856e8900&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:47.082305" elapsed="0.000374"/>
</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-08-18T20:12:47.082836" 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-08-18T20:12:47.083273" elapsed="0.000235"/>
</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-08-18T20:12:47.083653" 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-08-18T20:12:47.084068" elapsed="0.000330"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:47.084830" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9863576a0&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-08-18T20:12:47.084545" 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-08-18T20:12:47.085000" elapsed="0.000382"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:47.085915" 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-08-18T20:12:47.085526" elapsed="0.000453"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:47.086518" 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-08-18T20:12:47.086125" elapsed="0.000424"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:47.560796" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:47.561039" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:47.561265" 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-08-18T20:12:47.086677" elapsed="0.474647"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.566200" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:47.561694" elapsed="0.004603"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9863231a0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9863231a0&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-08-18T20:12:47.081957" elapsed="0.484469"/>
</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-08-18T20:12:47.078643" elapsed="0.487898"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-08-18T20:12:47.064252" elapsed="0.502368"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.567771" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:47.567158" 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-08-18T20:12:47.573636" 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-08-18T20:12:47.573786" 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-08-18T20:12:47.573499" elapsed="0.000318"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:47.574366" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1210&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:47.573970" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:47.574833" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:47.574545" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:47.575279" 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-08-18T20:12:47.575014" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:47.575713" 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-08-18T20:12:47.575450" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:47.576537" 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-08-18T20:12:47.575898" elapsed="0.000670"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.577051" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:47.576718" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.577540" 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-08-18T20:12:47.577240" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.578047" 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-08-18T20:12:47.577725" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.578526" 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-08-18T20:12:47.578232" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.579038" 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-08-18T20:12:47.578713" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:47.579524" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1210&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:47.579227" elapsed="0.000338"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:47.573165" elapsed="0.006452"/>
</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-08-18T20:12:47.583825" level="INFO">${req} = &lt;Element 'flow' at 0x79a9855d24d0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:47.583472" 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-08-18T20:12:47.583994" elapsed="0.000255"/>
</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-08-18T20:12:47.584394" elapsed="0.000231"/>
</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-08-18T20:12:47.584823" 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-08-18T20:12:47.585218" elapsed="0.000490"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:47.586142" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986320db0&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-08-18T20:12:47.585875" 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-08-18T20:12:47.586313" elapsed="0.000264"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:47.587098" 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-08-18T20:12:47.586730" elapsed="0.000432"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:47.587690" 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-08-18T20:12:47.587303" elapsed="0.000418"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:48.068277" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:48.068424" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:48.068680" 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-08-18T20:12:47.587865" elapsed="0.480933"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.073489" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:48.069168" elapsed="0.004418"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9855d1210&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9855d1210&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-08-18T20:12:47.583112" elapsed="0.490603"/>
</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-08-18T20:12:47.579776" elapsed="0.494090"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-08-18T20:12:47.566875" elapsed="0.507068"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.075033" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:48.074443" 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-08-18T20:12:48.079624" 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-08-18T20:12:48.079767" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:48.079488" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:48.080375" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d20c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:48.079979" elapsed="0.000425"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:48.080852" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:48.080553" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:48.081293" 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-08-18T20:12:48.081027" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:48.081730" 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-08-18T20:12:48.081465" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:48.082479" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:48.081918" elapsed="0.000591"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.082991" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:48.082662" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.083483" 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-08-18T20:12:48.083181" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.084006" 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-08-18T20:12:48.083669" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.084488" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:48.084194" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.084999" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:48.084680" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.085490" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d20c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:48.085190" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:48.079159" elapsed="0.006425"/>
</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-08-18T20:12:48.089737" level="INFO">${req} = &lt;Element 'flow' at 0x79a9855d00e0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:48.089416" elapsed="0.000363"/>
</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-08-18T20:12:48.089923" elapsed="0.000258"/>
</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-08-18T20:12:48.090327" elapsed="0.000232"/>
</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-08-18T20:12:48.090702" elapsed="0.000256"/>
</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-08-18T20:12:48.091103" elapsed="0.000482"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:48.092036" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9855d2c50&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-08-18T20:12:48.091764" 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-08-18T20:12:48.092227" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:48.092973" 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-08-18T20:12:48.092617" elapsed="0.000417"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:48.093595" 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-08-18T20:12:48.093220" elapsed="0.000405"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:48.564002" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:48.564140" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:48.564345" 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-08-18T20:12:48.093780" elapsed="0.470621"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.569137" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:48.564793" elapsed="0.004440"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9855d20c0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9855d20c0&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-08-18T20:12:48.089071" elapsed="0.480290"/>
</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-08-18T20:12:48.085727" elapsed="0.483747"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-08-18T20:12:48.074162" elapsed="0.495388"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.570640" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:48.570091" 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-08-18T20:12:48.576729" 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-08-18T20:12:48.576877" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:48.576593" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:48.577434" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2070&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:48.577053" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:48.577900" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:48.577609" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:48.578343" 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-08-18T20:12:48.578079" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:48.578827" 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-08-18T20:12:48.578534" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:48.579539" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:48.578998" elapsed="0.000572"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.580052" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:48.579722" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.580549" 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-08-18T20:12:48.580250" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.581062" 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-08-18T20:12:48.580736" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.581542" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:48.581249" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.582095" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:48.581791" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:48.582613" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2070&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:48.582308" 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-08-18T20:12:48.576264" elapsed="0.006443"/>
</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-08-18T20:12:48.587021" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abf4c0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:48.586674" elapsed="0.000375"/>
</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-08-18T20:12:48.587190" elapsed="0.000260"/>
</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-08-18T20:12:48.587597" 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-08-18T20:12:48.587995" elapsed="0.000240"/>
</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-08-18T20:12:48.588380" elapsed="0.000508"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:48.589304" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9855d0860&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-08-18T20:12:48.589038" 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-08-18T20:12:48.589474" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:48.590221" 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-08-18T20:12:48.589875" elapsed="0.000405"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:48.590812" 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-08-18T20:12:48.590425" elapsed="0.000418"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:49.064221" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:49.064396" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:49.064649" 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-08-18T20:12:48.590968" elapsed="0.473742"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.069699" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:49.065182" elapsed="0.004652"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9855d2070&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9855d2070&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-08-18T20:12:48.586320" elapsed="0.483763"/>
</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-08-18T20:12:48.582874" elapsed="0.487331"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-08-18T20:12:48.569807" elapsed="0.500496"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.071434" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:49.070874" 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-08-18T20:12:49.076993" 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-08-18T20:12:49.077154" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:49.076847" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:49.077759" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:49.077329" elapsed="0.000461"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:49.078246" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:49.077941" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:49.078688" 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-08-18T20:12:49.078420" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:49.079149" 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-08-18T20:12:49.078882" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:49.079924" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:49.079319" elapsed="0.000635"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.080430" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:49.080111" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.080937" 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-08-18T20:12:49.080621" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.081428" 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-08-18T20:12:49.081124" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.081931" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:49.081615" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.082426" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:49.082122" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.082930" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:49.082615" 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-08-18T20:12:49.076477" elapsed="0.006549"/>
</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-08-18T20:12:49.087174" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abe0c0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:49.086845" elapsed="0.000357"/>
</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-08-18T20:12:49.087345" elapsed="0.000261"/>
</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-08-18T20:12:49.087769" elapsed="0.000234"/>
</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-08-18T20:12:49.088148" elapsed="0.000240"/>
</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-08-18T20:12:49.088533" elapsed="0.000519"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:49.089467" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abcb80&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-08-18T20:12:49.089202" elapsed="0.000324"/>
</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-08-18T20:12:49.089684" elapsed="0.000267"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:49.090439" 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-08-18T20:12:49.090094" elapsed="0.000404"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:49.091027" 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-08-18T20:12:49.090640" elapsed="0.000418"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:49.565388" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:49.565564" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:49.565851" 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-08-18T20:12:49.091184" elapsed="0.474729"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.570956" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:49.566358" elapsed="0.004702"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985abc540&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985abc540&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-08-18T20:12:49.086483" elapsed="0.484711"/>
</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-08-18T20:12:49.083171" elapsed="0.488138"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-08-18T20:12:49.070547" elapsed="0.500841"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.572356" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:49.571957" elapsed="0.000460"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:49.577196" 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-08-18T20:12:49.577414" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:49.576998" elapsed="0.000457"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:49.578286" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd990&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:49.577661" elapsed="0.000666"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:49.578968" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:49.578533" elapsed="0.000472"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:49.579592" 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-08-18T20:12:49.579220" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:49.580229" 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-08-18T20:12:49.579852" elapsed="0.000481"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:49.581543" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:49.580543" elapsed="0.001043"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.582272" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:49.581825" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.583046" 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-08-18T20:12:49.582570" elapsed="0.000545"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.583578" 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-08-18T20:12:49.583273" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.584072" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:49.583778" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.584561" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:49.584262" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:49.585067" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd990&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:49.584766" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:49.576497" elapsed="0.008663"/>
</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-08-18T20:12:49.591022" level="INFO">${req} = &lt;Element 'flow' at 0x79a98639b650&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:49.590648" 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-08-18T20:12:49.591193" 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-08-18T20:12:49.591605" 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-08-18T20:12:49.592005" 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-08-18T20:12:49.592396" elapsed="0.000331"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:49.593158" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98639b6f0&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-08-18T20:12:49.592894" 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-08-18T20:12:49.593327" elapsed="0.000238"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:49.594100" 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-08-18T20:12:49.593707" elapsed="0.000481"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:49.594761" 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-08-18T20:12:49.594333" elapsed="0.000461"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:50.066583" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:50.066951" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:50.067251" 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-08-18T20:12:49.594921" elapsed="0.472394"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.072409" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:50.067808" elapsed="0.004717"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985abd990&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985abd990&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-08-18T20:12:49.590291" elapsed="0.482371"/>
</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-08-18T20:12:49.585308" elapsed="0.487516"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-08-18T20:12:49.571630" elapsed="0.501295"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.074054" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:50.073456" 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-08-18T20:12:50.079274" 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-08-18T20:12:50.079437" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:50.079130" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:50.080073" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37fb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:50.079617" elapsed="0.000484"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:50.080544" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:50.080262" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:50.081008" 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-08-18T20:12:50.080719" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:50.081454" 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-08-18T20:12:50.081186" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:50.082373" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:50.081629" elapsed="0.000776"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.082898" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:50.082562" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.083391" 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-08-18T20:12:50.083090" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.083900" 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-08-18T20:12:50.083578" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.084396" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:50.084100" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.084907" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:50.084587" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.085407" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37fb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:50.085105" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:50.078774" elapsed="0.006728"/>
</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-08-18T20:12:50.089956" level="INFO">${req} = &lt;Element 'flow' at 0x79a986399e40&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:50.089590" 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-08-18T20:12:50.090126" elapsed="0.000263"/>
</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-08-18T20:12:50.090536" elapsed="0.000250"/>
</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-08-18T20:12:50.090979" 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-08-18T20:12:50.091379" elapsed="0.000332"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:50.092148" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98639b560&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-08-18T20:12:50.091885" elapsed="0.000290"/>
</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-08-18T20:12:50.092317" elapsed="0.000239"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:50.093093" 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-08-18T20:12:50.092699" elapsed="0.000458"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:50.093693" 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-08-18T20:12:50.093299" elapsed="0.000424"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:50.567426" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:50.567620" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:50.567946" 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-08-18T20:12:50.093867" elapsed="0.474141"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.572990" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:50.568457" elapsed="0.004632"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985a37fb0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985a37fb0&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-08-18T20:12:50.089233" elapsed="0.483997"/>
</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-08-18T20:12:50.085648" elapsed="0.487705"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-08-18T20:12:50.073167" elapsed="0.500265"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.574547" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:50.573985" elapsed="0.000662"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:50.578894" 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-08-18T20:12:50.579127" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:50.578714" elapsed="0.000444"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:50.579761" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a36f70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:50.579308" elapsed="0.000483"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:50.580222" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:50.579941" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:50.580663" 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-08-18T20:12:50.580396" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:50.581125" 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-08-18T20:12:50.580856" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:50.582062" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:50.581301" elapsed="0.000792"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.582572" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:50.582253" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.583090" 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-08-18T20:12:50.582784" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.583584" 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-08-18T20:12:50.583279" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.584081" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:50.583785" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.584572" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:50.584271" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:50.585289" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a36f70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:50.584777" elapsed="0.000555"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:50.578362" elapsed="0.007024"/>
</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-08-18T20:12:50.590596" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a378d0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:50.590207" elapsed="0.000420"/>
</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-08-18T20:12:50.590794" 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-08-18T20:12:50.591224" 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-08-18T20:12:50.591612" elapsed="0.000258"/>
</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-08-18T20:12:50.592018" elapsed="0.000329"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:50.592775" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a37fb0&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-08-18T20:12:50.592496" 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-08-18T20:12:50.592946" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:50.593720" 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-08-18T20:12:50.593328" elapsed="0.000544"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:50.594424" 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-08-18T20:12:50.594017" elapsed="0.000447"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:51.068435" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:51.068636" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:51.068963" 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-08-18T20:12:50.594599" elapsed="0.474429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.074464" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:51.069502" elapsed="0.005068"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985a36f70&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985a36f70&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-08-18T20:12:50.589713" elapsed="0.485002"/>
</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-08-18T20:12:50.585530" elapsed="0.489359"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-08-18T20:12:50.573668" elapsed="0.501307"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.076171" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:51.075540" elapsed="0.000738"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:51.081275" 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-08-18T20:12:51.081480" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:51.081129" elapsed="0.000381"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:51.082088" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863991c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:51.081660" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:51.082556" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:51.082278" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:51.083020" 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-08-18T20:12:51.082741" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:51.083460" 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-08-18T20:12:51.083197" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:51.084234" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:51.083632" elapsed="0.000634"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.084740" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:51.084422" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.085249" 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-08-18T20:12:51.084947" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.085837" 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-08-18T20:12:51.085509" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.086342" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:51.086031" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.086861" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:51.086536" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.087543" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863991c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:51.087056" elapsed="0.000531"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:51.080768" elapsed="0.006874"/>
</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-08-18T20:12:51.091820" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a37920&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:51.091482" elapsed="0.000366"/>
</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-08-18T20:12:51.091992" elapsed="0.000263"/>
</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-08-18T20:12:51.092404" elapsed="0.000235"/>
</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-08-18T20:12:51.092798" 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-08-18T20:12:51.093191" elapsed="0.000330"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:51.093962" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a36fc0&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-08-18T20:12:51.093670" 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-08-18T20:12:51.094133" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:51.094866" 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-08-18T20:12:51.094518" elapsed="0.000409"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:51.095436" 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-08-18T20:12:51.095071" elapsed="0.000395"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:51.568256" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:51.568439" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:51.568733" 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-08-18T20:12:51.095592" elapsed="0.473348"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.573977" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:51.569399" elapsed="0.004676"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9863991c0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9863991c0&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-08-18T20:12:51.091129" elapsed="0.483083"/>
</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-08-18T20:12:51.087805" elapsed="0.486524"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-08-18T20:12:51.075223" elapsed="0.499186"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.575544" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:51.574993" elapsed="0.000649"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:51.583291" 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-08-18T20:12:51.583453" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:51.583048" elapsed="0.000434"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:51.584094" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639b830&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:51.583631" elapsed="0.000491"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:51.584550" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:51.584271" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:51.585005" 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-08-18T20:12:51.584723" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:51.585441" 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-08-18T20:12:51.585177" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:51.586414" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:51.585616" elapsed="0.000830"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.587153" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:51.586608" elapsed="0.000588"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.587651" 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-08-18T20:12:51.587347" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.588163" 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-08-18T20:12:51.587854" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.588644" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:51.588351" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.589149" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:51.588847" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:51.589637" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639b830&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:51.589338" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:51.582194" elapsed="0.007537"/>
</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-08-18T20:12:51.593931" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a37b00&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:51.593560" 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-08-18T20:12:51.594098" 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-08-18T20:12:51.594533" 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-08-18T20:12:51.594931" elapsed="0.000239"/>
</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-08-18T20:12:51.595360" elapsed="0.000336"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:51.596124" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a36d90&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-08-18T20:12:51.595859" 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-08-18T20:12:51.596294" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:51.597083" 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-08-18T20:12:51.596677" elapsed="0.000472"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:51.597697" 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-08-18T20:12:51.597290" elapsed="0.000438"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:52.069711" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:52.069963" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:52.070241" 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-08-18T20:12:51.597870" elapsed="0.472429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.075204" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:52.070715" elapsed="0.004586"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a98639b830&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a98639b830&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-08-18T20:12:51.593211" 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-08-18T20:12:51.589892" elapsed="0.485660"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-08-18T20:12:51.574652" elapsed="0.500998"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.076849" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:52.076209" elapsed="0.000779"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:52.082364" 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-08-18T20:12:52.082556" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:52.082220" elapsed="0.000365"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:52.083173" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abeed0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:52.082735" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:52.083638" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:52.083350" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:52.084103" 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-08-18T20:12:52.083834" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:52.084552" 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-08-18T20:12:52.084277" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:52.085385" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:52.084726" elapsed="0.000690"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.086100" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:52.085574" elapsed="0.000569"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.086601" 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-08-18T20:12:52.086295" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.087118" 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-08-18T20:12:52.086806" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.087617" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:52.087307" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.088139" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:52.087829" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.088641" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abeed0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:52.088330" 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-08-18T20:12:52.081865" elapsed="0.006871"/>
</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-08-18T20:12:52.093032" level="INFO">${req} = &lt;Element 'flow' at 0x79a986399210&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:52.092677" 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-08-18T20:12:52.093202" 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-08-18T20:12:52.093626" 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-08-18T20:12:52.094024" 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-08-18T20:12:52.094420" elapsed="0.000346"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:52.095198" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986399e40&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-08-18T20:12:52.094920" 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-08-18T20:12:52.095378" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:52.096155" 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-08-18T20:12:52.095791" elapsed="0.000468"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:52.096820" 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-08-18T20:12:52.096417" elapsed="0.000434"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:52.570839" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:52.570998" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:52.571247" 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-08-18T20:12:52.096981" elapsed="0.474324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.576290" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:52.571797" elapsed="0.004591"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985abeed0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985abeed0&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-08-18T20:12:52.092310" elapsed="0.484212"/>
</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-08-18T20:12:52.088898" elapsed="0.487743"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-08-18T20:12:52.075923" elapsed="0.500797"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.577934" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:52.577272" 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-08-18T20:12:52.582885" 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-08-18T20:12:52.583083" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:52.582659" elapsed="0.000463"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:52.583903" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe160&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:52.583329" elapsed="0.000613"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:52.584541" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:52.584150" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:52.585179" 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-08-18T20:12:52.584801" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:52.585841" 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-08-18T20:12:52.585442" elapsed="0.000435"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:52.586938" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:52.586085" elapsed="0.000901"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.587641" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:52.587203" elapsed="0.000496"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.588349" 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-08-18T20:12:52.587925" elapsed="0.000481"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.589346" 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-08-18T20:12:52.588611" elapsed="0.000796"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.590144" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:52.589671" elapsed="0.000548"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.590677" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:52.590376" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:52.591192" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe160&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:52.590884" 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-08-18T20:12:52.582184" elapsed="0.009103"/>
</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-08-18T20:12:52.595445" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abc4a0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:52.595113" elapsed="0.000360"/>
</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-08-18T20:12:52.595614" 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-08-18T20:12:52.596037" 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-08-18T20:12:52.596423" elapsed="0.000239"/>
</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-08-18T20:12:52.596823" elapsed="0.000353"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:52.597590" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a37600&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-08-18T20:12:52.597326" 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-08-18T20:12:52.597774" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:52.598503" 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-08-18T20:12:52.598157" elapsed="0.000406"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:52.599096" 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-08-18T20:12:52.598704" elapsed="0.000422"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:53.081664" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:53.081935" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:53.082250" 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-08-18T20:12:52.599257" elapsed="0.483056"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.087810" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:53.082915" elapsed="0.004998"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985abe160&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985abe160&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-08-18T20:12:52.594762" elapsed="0.493297"/>
</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-08-18T20:12:52.591433" elapsed="0.496750"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-08-18T20:12:52.576987" elapsed="0.511251"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.088949" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:53.088579" elapsed="0.000462"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:53.093972" 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-08-18T20:12:53.094193" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:53.093761" elapsed="0.000474"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:53.095066" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d08b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:53.094446" elapsed="0.000662"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:53.095730" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:53.095332" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:53.096386" 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-08-18T20:12:53.096005" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:53.097029" 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-08-18T20:12:53.096627" elapsed="0.000439"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:53.098210" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:53.097287" elapsed="0.000967"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.098963" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:53.098478" elapsed="0.000546"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.099709" 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-08-18T20:12:53.099267" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.100405" 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-08-18T20:12:53.100012" elapsed="0.000435"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.101145" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:53.100595" elapsed="0.000621"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.101698" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:53.101377" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.102229" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d08b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:53.101920" 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-08-18T20:12:53.093244" 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-08-18T20:12:53.106561" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a37830&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:53.106212" 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-08-18T20:12:53.106738" 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-08-18T20:12:53.107191" 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-08-18T20:12:53.107584" 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-08-18T20:12:53.107995" elapsed="0.000375"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:53.108804" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a36ca0&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-08-18T20:12:53.108520" 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-08-18T20:12:53.108976" elapsed="0.000249"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:53.109763" 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-08-18T20:12:53.109373" elapsed="0.000457"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:53.110364" 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-08-18T20:12:53.109976" elapsed="0.000418"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:53.579501" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:53.579601" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:53.579785" 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-08-18T20:12:53.110522" elapsed="0.469293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.582192" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:53.580061" elapsed="0.002176"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9855d08b0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9855d08b0&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-08-18T20:12:53.105854" elapsed="0.476451"/>
</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-08-18T20:12:53.102476" elapsed="0.479887"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-08-18T20:12:53.088400" elapsed="0.494001"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.582953" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:53.582649" elapsed="0.000351"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:53.586475" 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-08-18T20:12:53.586664" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:53.586326" elapsed="0.000368"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:53.587301" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0360&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:53.586863" elapsed="0.000467"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:53.587843" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:53.587537" elapsed="0.000333"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:53.588295" 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-08-18T20:12:53.588020" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:53.588768" 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-08-18T20:12:53.588477" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:53.589643" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:12:53.588946" elapsed="0.000728"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.590173" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:53.589846" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.590685" 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-08-18T20:12:53.590368" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.591415" 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-08-18T20:12:53.590897" elapsed="0.000561"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.591926" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:53.591609" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.592429" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:12:53.592120" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:53.592947" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0360&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:53.592624" 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-08-18T20:12:53.585970" elapsed="0.007075"/>
</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-08-18T20:12:53.597253" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abf4c0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:53.596905" elapsed="0.000376"/>
</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-08-18T20:12:53.597424" 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-08-18T20:12:53.597852" 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-08-18T20:12:53.598238" 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-08-18T20:12:53.598653" elapsed="0.000362"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:53.599434" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abdd50&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-08-18T20:12:53.599166" 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-08-18T20:12:53.599606" elapsed="0.000259"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:53.600376" 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-08-18T20:12:53.600010" elapsed="0.000429"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:53.600990" 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-08-18T20:12:53.600581" elapsed="0.000471"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:54.080849" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:54.080999" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:54.081237" 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-08-18T20:12:53.601184" elapsed="0.480110"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.086133" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:54.081672" elapsed="0.004560"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9855d0360&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9855d0360&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-08-18T20:12:53.596538" elapsed="0.489835"/>
</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-08-18T20:12:53.593192" elapsed="0.493306"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-08-18T20:12:53.582519" elapsed="0.504059"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.087684" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:54.087129" 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-08-18T20:12:54.093149" 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-08-18T20:12:54.093285" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:54.093008" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:54.093870" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2c00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:54.093461" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:54.094346" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:54.094062" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:54.094803" 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-08-18T20:12:54.094520" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:54.095241" 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-08-18T20:12:54.094976" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:54.096031" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:54.095413" elapsed="0.000649"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.096529" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:54.096215" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.097036" 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-08-18T20:12:54.096720" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.097537" 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-08-18T20:12:54.097230" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.098223" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:12:54.097726" elapsed="0.000581"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.098781" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:12:54.098458" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.099280" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2c00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:54.098976" elapsed="0.000345"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:54.092658" elapsed="0.006717"/>
</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-08-18T20:12:54.103561" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abf4c0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:54.103234" elapsed="0.000355"/>
</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-08-18T20:12:54.103733" 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-08-18T20:12:54.104163" elapsed="0.000237"/>
</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-08-18T20:12:54.104544" elapsed="0.000258"/>
</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-08-18T20:12:54.104949" elapsed="0.000334"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:54.105692" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abc4a0&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-08-18T20:12:54.105431" elapsed="0.000288"/>
</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-08-18T20:12:54.105887" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:54.106612" 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-08-18T20:12:54.106271" elapsed="0.000401"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:54.107206" 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-08-18T20:12:54.106828" elapsed="0.000408"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:54.582004" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:54.582187" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:54.582506" 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-08-18T20:12:54.107361" elapsed="0.475209"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.587568" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:54.583065" elapsed="0.004603"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9855d2c00&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9855d2c00&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-08-18T20:12:54.102882" elapsed="0.484954"/>
</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-08-18T20:12:54.099520" elapsed="0.488558"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-08-18T20:12:54.086839" elapsed="0.501323"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.589278" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:54.588683" 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-08-18T20:12:54.593917" 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-08-18T20:12:54.594079" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:54.593766" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:54.594712" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0720&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:54.594268" elapsed="0.000488"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:54.595194" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:54.594908" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:54.595633" 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-08-18T20:12:54.595368" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:54.596089" 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-08-18T20:12:54.595821" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:54.597037" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:54.596264" elapsed="0.000804"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.597769" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:54.597231" elapsed="0.000582"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.598294" 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-08-18T20:12:54.597962" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.598821" 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-08-18T20:12:54.598495" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.599306" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:54.599010" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.599814" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:54.599497" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:54.600308" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0720&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:54.600007" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:54.593400" elapsed="0.007003"/>
</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-08-18T20:12:54.604611" level="INFO">${req} = &lt;Element 'flow' at 0x79a986399080&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:54.604258" 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-08-18T20:12:54.604796" 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-08-18T20:12:54.605215" elapsed="0.000234"/>
</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-08-18T20:12:54.605594" elapsed="0.000254"/>
</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-08-18T20:12:54.605996" elapsed="0.000340"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:54.606762" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986399d50&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-08-18T20:12:54.606484" 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-08-18T20:12:54.606934" elapsed="0.000239"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:54.607741" 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-08-18T20:12:54.607353" elapsed="0.000471"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:54.608375" 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-08-18T20:12:54.607966" elapsed="0.000440"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:55.083303" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:55.083476" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:55.083736" 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-08-18T20:12:54.608532" elapsed="0.475295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.089093" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:55.084249" 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 0x79a9855d0720&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9855d0720&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-08-18T20:12:54.603907" elapsed="0.485441"/>
</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-08-18T20:12:54.600549" elapsed="0.488949"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-08-18T20:12:54.588399" elapsed="0.501189"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.090900" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:55.090222" elapsed="0.000793"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:55.095081" 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-08-18T20:12:55.095249" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:55.094935" elapsed="0.000344"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:55.095938" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986356a20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:55.095428" elapsed="0.000542"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:55.096490" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:55.096180" elapsed="0.000338"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:55.097002" 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-08-18T20:12:55.096671" elapsed="0.000361"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:55.097464" 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-08-18T20:12:55.097184" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:55.098609" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:55.097643" elapsed="0.001010"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.099171" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:55.098839" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.099680" 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-08-18T20:12:55.099369" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.100209" 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-08-18T20:12:55.099890" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.100708" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:55.100402" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.101235" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:55.100923" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.101741" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986356a20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:55.101432" 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-08-18T20:12:55.094531" elapsed="0.007326"/>
</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-08-18T20:12:55.106128" level="INFO">${req} = &lt;Element 'flow' at 0x79a9855d3470&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:55.105757" 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-08-18T20:12:55.106306" 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-08-18T20:12:55.106756" 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-08-18T20:12:55.107138" elapsed="0.000240"/>
</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-08-18T20:12:55.107524" elapsed="0.000346"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:55.108284" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9855d2980&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-08-18T20:12:55.108019" 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-08-18T20:12:55.108455" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:55.109245" 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-08-18T20:12:55.108857" elapsed="0.000490"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:55.109927" 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-08-18T20:12:55.109492" elapsed="0.000466"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:55.584145" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:55.584301" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:55.584528" 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-08-18T20:12:55.110088" elapsed="0.474499"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.589348" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:55.584986" elapsed="0.004460"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a986356a20&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a986356a20&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-08-18T20:12:55.105384" elapsed="0.484191"/>
</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-08-18T20:12:55.102007" elapsed="0.487686"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-08-18T20:12:55.089884" elapsed="0.499921"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.590903" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:55.590315" 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-08-18T20:12:55.596580" 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-08-18T20:12:55.596780" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:55.596392" elapsed="0.000430"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:55.597604" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858388b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:55.597027" elapsed="0.000616"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:55.598251" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:55.597870" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:55.598883" 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-08-18T20:12:55.598492" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:55.599490" 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-08-18T20:12:55.599123" elapsed="0.000403"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:55.602208" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:55.599729" elapsed="0.002523"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.602937" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:55.602467" elapsed="0.000531"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.603704" 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-08-18T20:12:55.603274" elapsed="0.000533"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.604446" 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-08-18T20:12:55.604024" elapsed="0.000463"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.604952" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:55.604636" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.605450" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:55.605146" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:55.605971" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858388b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:55.605646" 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-08-18T20:12:55.595920" elapsed="0.010148"/>
</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-08-18T20:12:55.610263" level="INFO">${req} = &lt;Element 'flow' at 0x79a986357ec0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:55.609906" 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-08-18T20:12:55.610436" elapsed="0.000262"/>
</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-08-18T20:12:55.610862" elapsed="0.000237"/>
</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-08-18T20:12:55.611246" elapsed="0.000239"/>
</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-08-18T20:12:55.611630" elapsed="0.000366"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:55.612412" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986354bd0&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-08-18T20:12:55.612146" 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-08-18T20:12:55.612583" elapsed="0.000261"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:55.613368" 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-08-18T20:12:55.612987" elapsed="0.000449"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:55.614010" 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-08-18T20:12:55.613579" elapsed="0.000462"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:56.086559" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:56.086840" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:56.087079" 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-08-18T20:12:55.614168" elapsed="0.472971"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.091941" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:56.087511" elapsed="0.004531"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9858388b0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9858388b0&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-08-18T20:12:55.609538" elapsed="0.482634"/>
</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-08-18T20:12:55.606213" elapsed="0.486074"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-08-18T20:12:55.590032" elapsed="0.502333"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.093481" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:56.092904" elapsed="0.000677"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:56.099659" 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-08-18T20:12:56.099818" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:56.099518" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:56.100426" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986320ef0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:56.099998" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:56.100895" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:56.100603" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:56.101348" 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-08-18T20:12:56.101069" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:56.101806" 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-08-18T20:12:56.101521" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:56.102894" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:56.101981" elapsed="0.000944"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.103399" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:56.103080" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.103914" 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-08-18T20:12:56.103589" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.104409" 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-08-18T20:12:56.104103" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.104907" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:56.104596" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.105415" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:56.105098" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.105923" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986320ef0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:56.105606" 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-08-18T20:12:56.099176" elapsed="0.006842"/>
</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-08-18T20:12:56.110236" level="INFO">${req} = &lt;Element 'flow' at 0x79a986320db0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:56.109884" 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-08-18T20:12:56.110409" elapsed="0.000261"/>
</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-08-18T20:12:56.110830" 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-08-18T20:12:56.111252" 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-08-18T20:12:56.111641" elapsed="0.000345"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:56.112405" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986320770&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-08-18T20:12:56.112135" 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-08-18T20:12:56.112575" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:56.113381" 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-08-18T20:12:56.112978" elapsed="0.000470"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:56.114019" 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-08-18T20:12:56.113593" elapsed="0.000457"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:56.586091" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:56.586332" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:56.586683" 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-08-18T20:12:56.114178" elapsed="0.472598"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.592264" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:56.587308" elapsed="0.005071"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a986320ef0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a986320ef0&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-08-18T20:12:56.109518" elapsed="0.483021"/>
</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-08-18T20:12:56.106167" elapsed="0.486500"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-08-18T20:12:56.092588" elapsed="0.500194"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.594020" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:56.593412" elapsed="0.000712"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:56.598998" 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-08-18T20:12:56.599175" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:56.598838" elapsed="0.000369"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:56.599895" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399210&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:56.599376" elapsed="0.000548"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:56.600366" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:56.600079" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:56.600850" 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-08-18T20:12:56.600555" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:56.601306" 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-08-18T20:12:56.601027" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:56.602573" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:56.601485" elapsed="0.001121"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.603125" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:56.602788" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.603662" 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-08-18T20:12:56.603336" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.604187" 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-08-18T20:12:56.603873" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.604681" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:56.604376" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.605205" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:56.604893" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:56.605713" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399210&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:56.605399" 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-08-18T20:12:56.598430" elapsed="0.007396"/>
</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-08-18T20:12:56.610148" level="INFO">${req} = &lt;Element 'flow' at 0x79a986355580&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:56.609787" elapsed="0.000390"/>
</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-08-18T20:12:56.610321" 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-08-18T20:12:56.610770" 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-08-18T20:12:56.611163" 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-08-18T20:12:56.611574" elapsed="0.000368"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:56.612365" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986355f30&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-08-18T20:12:56.612095" 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-08-18T20:12:56.612537" elapsed="0.000266"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:56.613357" 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-08-18T20:12:56.612951" elapsed="0.000515"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:56.614058" 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-08-18T20:12:56.613613" elapsed="0.000476"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:57.087926" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:57.088122" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:57.088486" 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-08-18T20:12:56.614226" elapsed="0.474327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.093853" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:57.089072" elapsed="0.004884"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a986399210&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a986399210&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-08-18T20:12:56.609402" elapsed="0.484697"/>
</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-08-18T20:12:56.605977" elapsed="0.488246"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-08-18T20:12:56.593059" elapsed="0.501247"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.095171" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:57.094822" elapsed="0.000412"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:57.100134" 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-08-18T20:12:57.100382" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:57.099930" elapsed="0.000495"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:57.101299" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1620&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:57.100639" elapsed="0.000700"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:57.102070" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:57.101602" elapsed="0.000510"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:57.102726" 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-08-18T20:12:57.102330" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:57.103378" 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-08-18T20:12:57.102996" elapsed="0.000420"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:57.105021" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:57.103627" elapsed="0.001439"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.105880" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:57.105296" elapsed="0.000647"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.106548" 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-08-18T20:12:57.106237" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.107062" 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-08-18T20:12:57.106738" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.107550" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:57.107255" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.108057" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:57.107740" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.108602" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1620&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:57.108289" 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-08-18T20:12:57.099408" elapsed="0.009290"/>
</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-08-18T20:12:57.112923" level="INFO">${req} = &lt;Element 'flow' at 0x79a986323060&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:57.112553" 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-08-18T20:12:57.113094" 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-08-18T20:12:57.113541" 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-08-18T20:12:57.113943" elapsed="0.000241"/>
</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-08-18T20:12:57.114328" elapsed="0.000338"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:57.115104" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986323420&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-08-18T20:12:57.114838" 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-08-18T20:12:57.115271" elapsed="0.000239"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:57.116056" 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-08-18T20:12:57.115651" elapsed="0.000471"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:57.116696" 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-08-18T20:12:57.116284" elapsed="0.000443"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:57.589053" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:57.589396" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:57.589726" 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-08-18T20:12:57.116871" elapsed="0.472951"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.594994" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:57.590318" elapsed="0.004778"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9855d1620&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9855d1620&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-08-18T20:12:57.112187" elapsed="0.483052"/>
</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-08-18T20:12:57.108863" elapsed="0.486503"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-08-18T20:12:57.094556" elapsed="0.500895"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.596657" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:57.596038" 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-08-18T20:12:57.601738" 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-08-18T20:12:57.601984" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:57.601537" elapsed="0.000488"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:57.602891" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:57.602232" elapsed="0.000700"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:57.603528" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:57.603140" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:57.604161" 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-08-18T20:12:57.603788" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:57.604801" 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-08-18T20:12:57.604412" elapsed="0.000427"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:57.606493" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:57.605046" elapsed="0.001490"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.607235" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:57.606778" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.607944" 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-08-18T20:12:57.607500" elapsed="0.000500"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.608672" 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-08-18T20:12:57.608206" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.609407" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:57.608957" elapsed="0.000503"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.609922" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:57.609605" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:57.610415" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:57.610115" elapsed="0.000341"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:57.601036" elapsed="0.009473"/>
</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-08-18T20:12:57.614756" level="INFO">${req} = &lt;Element 'flow' at 0x79a9863237e0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:57.614380" 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-08-18T20:12:57.614929" 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-08-18T20:12:57.615348" elapsed="0.000234"/>
</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-08-18T20:12:57.615781" 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-08-18T20:12:57.616199" elapsed="0.000339"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:57.616973" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9855d02c0&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-08-18T20:12:57.616689" 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-08-18T20:12:57.617143" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:57.617952" 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-08-18T20:12:57.617529" elapsed="0.000492"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:57.618584" 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-08-18T20:12:57.618165" elapsed="0.000449"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:58.090074" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:58.090294" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:58.090631" 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-08-18T20:12:57.618741" elapsed="0.471953"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.096989" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:58.091294" elapsed="0.005768"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985abe020&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985abe020&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-08-18T20:12:57.614029" elapsed="0.483131"/>
</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-08-18T20:12:57.610658" elapsed="0.486582"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-08-18T20:12:57.595712" elapsed="0.501664"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.098143" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:58.097775" 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-08-18T20:12:58.103311" 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-08-18T20:12:58.103547" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:58.103025" elapsed="0.000564"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:58.104494" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe700&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:58.103827" elapsed="0.000708"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:58.105178" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:58.104771" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:58.105859" 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-08-18T20:12:58.105447" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:58.106529" 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-08-18T20:12:58.106107" elapsed="0.000459"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:58.108043" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:58.106801" elapsed="0.001288"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.108734" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:58.108380" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.109274" 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-08-18T20:12:58.108955" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.109828" 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-08-18T20:12:58.109491" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.110336" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:58.110023" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.110855" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:58.110533" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.111394" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe700&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:58.111053" 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-08-18T20:12:58.102416" elapsed="0.009075"/>
</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-08-18T20:12:58.116033" level="INFO">${req} = &lt;Element 'flow' at 0x79a985839530&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:58.115602" elapsed="0.000464"/>
</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-08-18T20:12:58.116227" elapsed="0.000310"/>
</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-08-18T20:12:58.116693" 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-08-18T20:12:58.117122" elapsed="0.000428"/>
</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-08-18T20:12:58.117722" elapsed="0.000377"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:58.118600" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98583b9c0&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-08-18T20:12:58.118288" elapsed="0.000348"/>
</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-08-18T20:12:58.118806" elapsed="0.000278"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:58.119671" 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-08-18T20:12:58.119247" elapsed="0.000554"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:58.120452" 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-08-18T20:12:58.119952" elapsed="0.000532"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:58.590650" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:58.590926" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:58.591195" 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-08-18T20:12:58.120618" elapsed="0.470636"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.595397" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:58.591708" elapsed="0.003762"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985abe700&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985abe700&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-08-18T20:12:58.115208" elapsed="0.480366"/>
</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-08-18T20:12:58.111643" elapsed="0.484010"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-08-18T20:12:58.097562" elapsed="0.498161"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.596526" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:58.596131" elapsed="0.000468"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:58.600932" 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-08-18T20:12:58.601105" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:58.600770" elapsed="0.000365"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:58.601764" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570e200&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:58.601287" elapsed="0.000508"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:58.602231" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:58.601947" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:58.602827" 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-08-18T20:12:58.602521" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:58.603273" 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-08-18T20:12:58.603000" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:58.604302" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:58.603446" elapsed="0.000887"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.604841" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:58.604498" elapsed="0.000440"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.605419" 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-08-18T20:12:58.605092" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.605965" 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-08-18T20:12:58.605615" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.606499" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:58.606172" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.607080" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:58.606729" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:58.607584" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570e200&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:58.607279" 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-08-18T20:12:58.600373" elapsed="0.007307"/>
</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-08-18T20:12:58.612199" level="INFO">${req} = &lt;Element 'flow' at 0x79a98630d3a0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:58.611831" 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-08-18T20:12:58.612378" 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-08-18T20:12:58.612818" 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-08-18T20:12:58.613207" 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-08-18T20:12:58.613620" elapsed="0.000360"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:58.614422" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98630cb80&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-08-18T20:12:58.614132" elapsed="0.000318"/>
</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-08-18T20:12:58.614614" elapsed="0.000271"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:58.615434" 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-08-18T20:12:58.615030" elapsed="0.000474"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:58.616083" 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-08-18T20:12:58.615647" elapsed="0.000467"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:59.091828" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:59.092089" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:59.092323" 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-08-18T20:12:58.616245" elapsed="0.476135"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.097433" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:59.092801" elapsed="0.004728"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a98570e200&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a98570e200&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-08-18T20:12:58.611455" elapsed="0.486207"/>
</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-08-18T20:12:58.607843" elapsed="0.489968"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-08-18T20:12:58.595924" elapsed="0.501971"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.099211" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:59.098561" elapsed="0.000730"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:12:59.104170" 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-08-18T20:12:59.104364" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:59.103973" elapsed="0.000432"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:59.105243" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896ba390&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:59.104610" elapsed="0.000674"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:59.105964" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:59.105494" elapsed="0.000518"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:59.106679" 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-08-18T20:12:59.106266" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:59.107429" 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-08-18T20:12:59.106983" elapsed="0.000487"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:59.108832" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:59.107702" elapsed="0.001176"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.109602" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:59.109115" elapsed="0.000552"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.110447" 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-08-18T20:12:59.109922" elapsed="0.000595"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.111193" 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-08-18T20:12:59.110730" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.111913" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:59.111403" elapsed="0.000557"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.112434" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:59.112112" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.112968" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896ba390&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:59.112632" 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-08-18T20:12:59.103470" elapsed="0.009596"/>
</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-08-18T20:12:59.117385" level="INFO">${req} = &lt;Element 'flow' at 0x79a9855d2ca0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:59.117036" 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-08-18T20:12:59.117572" 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-08-18T20:12:59.118027" 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-08-18T20:12:59.118459" 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-08-18T20:12:59.118872" elapsed="0.000334"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:59.119619" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9855d2d90&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-08-18T20:12:59.119354" 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-08-18T20:12:59.119821" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:59.120595" 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-08-18T20:12:59.120220" elapsed="0.000440"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:59.121250" 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-08-18T20:12:59.120820" elapsed="0.000465"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:12:59.592582" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:12:59.592820" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:12:59.593112" 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-08-18T20:12:59.121429" elapsed="0.471744"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.598191" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:59.593619" elapsed="0.004677"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9896ba390&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9896ba390&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-08-18T20:12:59.116621" elapsed="0.481812"/>
</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-08-18T20:12:59.113212" elapsed="0.485343"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-08-18T20:12:59.098128" elapsed="0.500509"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.599777" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:12:59.599191" 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-08-18T20:12:59.605219" 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-08-18T20:12:59.605446" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:59.605074" elapsed="0.000402"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:12:59.606108" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9760&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:12:59.605627" elapsed="0.000510"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:59.606569" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:12:59.606288" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:59.607032" 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-08-18T20:12:59.606760" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:12:59.607482" 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-08-18T20:12:59.607210" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:12:59.608605" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:59.607657" elapsed="0.000979"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.609134" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:59.608809" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.609633" 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-08-18T20:12:59.609328" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.610163" 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-08-18T20:12:59.609840" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.610656" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:12:59.610359" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.611172" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:12:59.610866" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:12:59.611667" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9760&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:12:59.611365" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:12:59.604706" elapsed="0.007073"/>
</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-08-18T20:12:59.615977" level="INFO">${req} = &lt;Element 'flow' at 0x79a98570cfe0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:12:59.615603" 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-08-18T20:12:59.616150" elapsed="0.000260"/>
</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-08-18T20:12:59.616558" 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-08-18T20:12:59.616955" 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-08-18T20:12:59.617361" elapsed="0.000329"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:12:59.618137" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98570da30&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-08-18T20:12:59.617854" 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-08-18T20:12:59.618317" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:12:59.619111" 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-08-18T20:12:59.618703" elapsed="0.000511"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:12:59.619792" 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-08-18T20:12:59.619360" elapsed="0.000463"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:00.094450" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:00.094636" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:00.094937" 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-08-18T20:12:59.619951" elapsed="0.475047"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.099920" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:00.095432" elapsed="0.004588"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9896b9760&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9896b9760&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-08-18T20:12:59.615252" elapsed="0.484901"/>
</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-08-18T20:12:59.611927" elapsed="0.488355"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-08-18T20:12:59.598907" elapsed="0.501467"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.101492" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:00.100935" 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-08-18T20:13:00.108265" 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-08-18T20:13:00.108427" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:00.108125" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:00.109057" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f20c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:00.108605" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:00.109516" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:00.109235" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:00.109972" 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-08-18T20:13:00.109688" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:00.110432" 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-08-18T20:13:00.110157" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:00.111494" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:00.110605" elapsed="0.000919"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.112024" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:00.111683" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.112596" 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-08-18T20:13:00.112282" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.113118" 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-08-18T20:13:00.112803" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.113610" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:00.113310" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.114138" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:00.113820" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.114641" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f20c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:00.114336" 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-08-18T20:13:00.107781" elapsed="0.006957"/>
</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-08-18T20:13:00.118967" level="INFO">${req} = &lt;Element 'flow' at 0x79a985912e30&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:00.118598" 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-08-18T20:13:00.119138" 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-08-18T20:13:00.119553" elapsed="0.000250"/>
</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-08-18T20:13:00.119948" elapsed="0.000239"/>
</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-08-18T20:13:00.120331" elapsed="0.000327"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:00.121084" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9859119e0&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-08-18T20:13:00.120821" elapsed="0.000290"/>
</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-08-18T20:13:00.121254" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:00.122038" 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-08-18T20:13:00.121636" elapsed="0.000467"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:00.122650" 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-08-18T20:13:00.122249" elapsed="0.000431"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:00.596342" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:00.596598" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:00.596888" 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-08-18T20:13:00.122823" elapsed="0.474128"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.601818" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:00.597362" elapsed="0.004557"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9857f20c0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9857f20c0&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-08-18T20:13:00.118245" elapsed="0.483808"/>
</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-08-18T20:13:00.114903" elapsed="0.487270"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-08-18T20:13:00.100614" elapsed="0.501637"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.603379" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:00.602820" 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-08-18T20:13:00.609113" 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-08-18T20:13:00.609264" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:00.608971" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:00.609877" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7ab0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:00.609442" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:00.610330" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:00.610054" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:00.610801" 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-08-18T20:13:00.610502" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:00.611240" 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-08-18T20:13:00.610975" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:00.612302" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:00.611411" elapsed="0.000922"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.612822" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:00.612488" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.613318" 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-08-18T20:13:00.613015" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.613828" 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-08-18T20:13:00.613506" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.614313" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:00.614017" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.614831" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:00.614500" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:00.615324" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7ab0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:00.615023" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:00.608608" 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-08-18T20:13:00.619578" level="INFO">${req} = &lt;Element 'flow' at 0x79a985913240&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:00.619235" 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-08-18T20:13:00.619763" elapsed="0.000262"/>
</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-08-18T20:13:00.620171" elapsed="0.000230"/>
</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-08-18T20:13:00.620584" elapsed="0.000258"/>
</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-08-18T20:13:00.620988" elapsed="0.000333"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:00.621730" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98570c180&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-08-18T20:13:00.621469" elapsed="0.000310"/>
</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-08-18T20:13:00.621924" elapsed="0.000239"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:00.622707" 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-08-18T20:13:00.622306" elapsed="0.000484"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:00.623338" 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-08-18T20:13:00.622936" elapsed="0.000432"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:01.097057" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:01.097241" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:01.097525" 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-08-18T20:13:00.623496" elapsed="0.474089"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.102626" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:01.098078" elapsed="0.004646"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9863a7ab0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9863a7ab0&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-08-18T20:13:00.618887" elapsed="0.484007"/>
</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-08-18T20:13:00.615563" elapsed="0.487451"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-08-18T20:13:00.602486" elapsed="0.500607"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.104225" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:01.103640" elapsed="0.000684"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:01.109472" 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-08-18T20:13:01.109663" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:01.109327" elapsed="0.000366"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:01.110295" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388b80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:01.109859" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:01.110775" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:01.110481" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:01.111229" 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-08-18T20:13:01.110951" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:01.111674" 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-08-18T20:13:01.111407" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:01.114153" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:01.111863" elapsed="0.002322"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.114669" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:01.114345" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.115204" 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-08-18T20:13:01.114878" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.115712" 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-08-18T20:13:01.115398" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.116218" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:01.115919" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.116717" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:01.116413" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.117238" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388b80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:01.116929" 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-08-18T20:13:01.108973" elapsed="0.008362"/>
</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-08-18T20:13:01.121521" level="INFO">${req} = &lt;Element 'flow' at 0x79a9863a4090&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:01.121174" elapsed="0.000376"/>
</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-08-18T20:13:01.121690" elapsed="0.000281"/>
</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-08-18T20:13:01.122119" elapsed="0.000234"/>
</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-08-18T20:13:01.122499" elapsed="0.000239"/>
</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-08-18T20:13:01.122899" elapsed="0.000338"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:01.123652" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9863a7f60&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-08-18T20:13:01.123391" elapsed="0.000288"/>
</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-08-18T20:13:01.123836" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:01.124593" 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-08-18T20:13:01.124220" elapsed="0.000472"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:01.125248" 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-08-18T20:13:01.124849" elapsed="0.000430"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:01.597940" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:01.598108" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:01.598365" 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-08-18T20:13:01.125405" elapsed="0.473019"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.603288" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:01.598865" elapsed="0.004520"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985388b80&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985388b80&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-08-18T20:13:01.120823" elapsed="0.482695"/>
</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-08-18T20:13:01.117482" elapsed="0.486153"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-08-18T20:13:01.103352" elapsed="0.500363"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.604871" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:01.604285" 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-08-18T20:13:01.610308" 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-08-18T20:13:01.610459" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:01.610166" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:01.611071" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:01.610635" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:01.611526" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:01.611249" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:01.611986" 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-08-18T20:13:01.611697" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:01.612465" 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-08-18T20:13:01.612161" elapsed="0.000330"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:01.613551" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:01.612640" elapsed="0.000942"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.614082" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:01.613741" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.614585" 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-08-18T20:13:01.614279" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.615151" 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-08-18T20:13:01.614839" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.615645" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:01.615347" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.616173" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:01.615854" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:01.616673" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:01.616367" 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-08-18T20:13:01.609821" elapsed="0.006966"/>
</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-08-18T20:13:01.620971" level="INFO">${req} = &lt;Element 'flow' at 0x79a9863a5ee0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:01.620608" elapsed="0.000390"/>
</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-08-18T20:13:01.621139" 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-08-18T20:13:01.621550" 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-08-18T20:13:01.621941" elapsed="0.000239"/>
</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-08-18T20:13:01.622325" elapsed="0.000331"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:01.623085" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9863a5e90&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-08-18T20:13:01.622820" 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-08-18T20:13:01.623254" elapsed="0.000238"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:01.624042" 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-08-18T20:13:01.623634" elapsed="0.000475"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:01.624658" 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-08-18T20:13:01.624254" elapsed="0.000434"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:02.099048" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:02.099255" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:02.099445" 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-08-18T20:13:01.624832" elapsed="0.474652"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.102656" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:02.099799" elapsed="0.002918"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a98630d170&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a98630d170&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-08-18T20:13:01.620253" elapsed="0.482580"/>
</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-08-18T20:13:01.616937" elapsed="0.485974"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-08-18T20:13:01.603981" elapsed="0.498981"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.103647" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:02.103300" 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-08-18T20:13:02.108474" 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-08-18T20:13:02.108676" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:02.108278" elapsed="0.000438"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:02.109575" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8b30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:02.108975" elapsed="0.000630"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:02.110046" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:02.109769" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:02.110486" 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-08-18T20:13:02.110221" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:02.110939" 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-08-18T20:13:02.110658" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:02.112087" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:02.111115" elapsed="0.001004"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.112600" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:02.112276" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.113129" 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-08-18T20:13:02.112807" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.114006" 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-08-18T20:13:02.113318" elapsed="0.000733"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.114509" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:02.114204" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.115023" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:02.114702" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.115516" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8b30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:02.115216" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:02.107799" elapsed="0.007813"/>
</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-08-18T20:13:02.119833" level="INFO">${req} = &lt;Element 'flow' at 0x79a9863a7100&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:02.119459" 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-08-18T20:13:02.120004" elapsed="0.000263"/>
</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-08-18T20:13:02.120413" elapsed="0.000234"/>
</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-08-18T20:13:02.120865" 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-08-18T20:13:02.121259" elapsed="0.000330"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:02.122019" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9863a7a60&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-08-18T20:13:02.121737" elapsed="0.000309"/>
</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-08-18T20:13:02.122188" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:02.122983" 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-08-18T20:13:02.122572" elapsed="0.000478"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:02.123609" 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-08-18T20:13:02.123193" elapsed="0.000447"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:02.599423" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:02.599526" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:02.599684" 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-08-18T20:13:02.123782" elapsed="0.475929"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.602108" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:02.599987" elapsed="0.002166"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9856e8b30&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9856e8b30&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-08-18T20:13:02.119112" elapsed="0.483124"/>
</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-08-18T20:13:02.115773" elapsed="0.486522"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-08-18T20:13:02.103117" elapsed="0.499216"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.602916" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:02.602585" elapsed="0.000377"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:02.606387" 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-08-18T20:13:02.606548" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:02.606235" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:02.607188" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838ae0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:02.606726" elapsed="0.000490"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:02.607650" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:02.607367" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:02.608110" 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-08-18T20:13:02.607841" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:02.608548" 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-08-18T20:13:02.608282" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:02.609701" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:02.608720" elapsed="0.001012"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.610259" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:02.609912" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.610769" 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-08-18T20:13:02.610452" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.611266" 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-08-18T20:13:02.610959" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.611761" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:02.611454" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.612264" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:02.611961" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:02.612779" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838ae0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:02.612462" 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-08-18T20:13:02.605875" elapsed="0.007001"/>
</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-08-18T20:13:02.617107" level="INFO">${req} = &lt;Element 'flow' at 0x79a9863a6430&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:02.616732" 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-08-18T20:13:02.617278" 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-08-18T20:13:02.617687" elapsed="0.000260"/>
</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-08-18T20:13:02.618101" 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-08-18T20:13:02.618488" elapsed="0.000348"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:02.619249" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9863a7ba0&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-08-18T20:13:02.618984" 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-08-18T20:13:02.619418" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:02.620207" 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-08-18T20:13:02.619814" elapsed="0.000501"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:02.620896" 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-08-18T20:13:02.620461" elapsed="0.000466"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:03.100981" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:03.101163" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:03.101429" 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-08-18T20:13:02.621055" elapsed="0.480434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.106991" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:03.101941" elapsed="0.005163"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985838ae0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985838ae0&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-08-18T20:13:02.616379" elapsed="0.490868"/>
</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-08-18T20:13:02.613024" elapsed="0.494347"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-08-18T20:13:02.602453" elapsed="0.505032"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.108688" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:03.108084" 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-08-18T20:13:03.114330" 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-08-18T20:13:03.114497" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:03.114184" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:03.115127" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399fd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:03.114672" elapsed="0.000484"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:03.115603" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:03.115305" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:03.116057" 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-08-18T20:13:03.115791" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:03.116491" 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-08-18T20:13:03.116228" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:03.117413" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:03.116662" elapsed="0.000782"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.117939" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:03.117602" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.118501" 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-08-18T20:13:03.118186" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.119019" 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-08-18T20:13:03.118691" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.119535" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:03.119209" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.120048" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:03.119727" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.120543" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399fd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:03.120241" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:03.113827" elapsed="0.006811"/>
</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-08-18T20:13:03.125109" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abfab0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:03.124594" elapsed="0.000555"/>
</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-08-18T20:13:03.125347" elapsed="0.000364"/>
</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-08-18T20:13:03.125942" elapsed="0.000329"/>
</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-08-18T20:13:03.126473" elapsed="0.000353"/>
</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-08-18T20:13:03.127029" elapsed="0.000680"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:03.128315" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9863992b0&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-08-18T20:13:03.127940" elapsed="0.000413"/>
</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-08-18T20:13:03.128552" elapsed="0.000358"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:03.129641" 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-08-18T20:13:03.129110" elapsed="0.000623"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:03.130523" 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-08-18T20:13:03.129954" elapsed="0.000611"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:03.602571" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:03.602893" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:03.603142" 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-08-18T20:13:03.130741" elapsed="0.472460"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.607226" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:03.603619" elapsed="0.003670"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a986399fd0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a986399fd0&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-08-18T20:13:03.124162" elapsed="0.483213"/>
</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-08-18T20:13:03.120800" elapsed="0.486651"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-08-18T20:13:03.107776" elapsed="0.499727"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.608205" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:03.607857" 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-08-18T20:13:03.613056" 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-08-18T20:13:03.613261" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:03.612848" elapsed="0.000454"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:03.614110" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:03.613510" elapsed="0.000643"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:03.614767" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:03.614361" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:03.615389" 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-08-18T20:13:03.615015" elapsed="0.000416"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:03.616032" 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-08-18T20:13:03.615635" elapsed="0.000433"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:03.617263" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:03.616275" elapsed="0.001031"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.617902" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:03.617523" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.618396" 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-08-18T20:13:03.618094" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.618902" 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-08-18T20:13:03.618582" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.619384" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:03.619090" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.619888" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:03.619573" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:03.620381" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abf150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:03.620080" 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-08-18T20:13:03.612354" elapsed="0.008128"/>
</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-08-18T20:13:03.624911" level="INFO">${req} = &lt;Element 'flow' at 0x79a9856e9fd0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:03.624531" 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-08-18T20:13:03.625084" 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-08-18T20:13:03.625496" elapsed="0.000235"/>
</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-08-18T20:13:03.625938" 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-08-18T20:13:03.626331" elapsed="0.000337"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:03.627106" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856e9530&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-08-18T20:13:03.626838" 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-08-18T20:13:03.627277" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:03.628058" 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-08-18T20:13:03.627662" elapsed="0.000459"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:03.628658" 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-08-18T20:13:03.628265" elapsed="0.000424"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:04.103513" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:04.103681" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:04.103966" 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-08-18T20:13:03.628832" elapsed="0.475194"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.109058" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:04.104462" elapsed="0.004698"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a985abf150&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a985abf150&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-08-18T20:13:03.624177" elapsed="0.485120"/>
</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-08-18T20:13:03.620627" elapsed="0.488791"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-08-18T20:13:03.607655" elapsed="0.501842"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.110673" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:04.110061" 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-08-18T20:13:04.115870" 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-08-18T20:13:04.116080" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:04.115654" elapsed="0.000531"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:04.116975" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3bf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:04.116398" elapsed="0.000618"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:04.117614" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:04.117226" elapsed="0.000425"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:04.118258" 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-08-18T20:13:04.117881" elapsed="0.000415"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:04.118918" 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-08-18T20:13:04.118518" elapsed="0.000438"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:04.119965" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:04.119163" elapsed="0.000846"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.120670" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:04.120226" elapsed="0.000503"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.121389" 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-08-18T20:13:04.120961" elapsed="0.000486"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.122113" 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-08-18T20:13:04.121654" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.122856" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:04.122380" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.123572" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:04.123129" elapsed="0.000494"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.124096" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3bf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:04.123791" 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-08-18T20:13:04.115128" elapsed="0.009065"/>
</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-08-18T20:13:04.128588" level="INFO">${req} = &lt;Element 'flow' at 0x79a9863230b0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:04.128263" elapsed="0.000353"/>
</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-08-18T20:13:04.128772" 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-08-18T20:13:04.129184" elapsed="0.000235"/>
</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-08-18T20:13:04.129565" elapsed="0.000254"/>
</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-08-18T20:13:04.129966" elapsed="0.000327"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:04.130716" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986323c40&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-08-18T20:13:04.130454" 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-08-18T20:13:04.130901" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:04.131622" 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-08-18T20:13:04.131285" elapsed="0.000396"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:04.132265" 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-08-18T20:13:04.131839" elapsed="0.000456"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:04.604576" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:04.604782" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:04.605071" 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-08-18T20:13:04.132429" elapsed="0.472703"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.610316" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:04.605673" elapsed="0.004743"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9855d3bf0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9855d3bf0&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-08-18T20:13:04.127910" elapsed="0.482647"/>
</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-08-18T20:13:04.124340" elapsed="0.486338"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-08-18T20:13:04.109734" elapsed="0.501055"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.611910" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:04.611321" 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-08-18T20:13:04.616296" 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-08-18T20:13:04.616480" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:04.616152" elapsed="0.000358"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:04.617109" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e92b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:04.616660" elapsed="0.000478"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:04.617569" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:04.617288" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:04.618030" 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-08-18T20:13:04.617758" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:04.618482" 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-08-18T20:13:04.618208" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:04.619351" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:04.618659" elapsed="0.000723"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.619878" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:04.619539" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.620395" 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-08-18T20:13:04.620073" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.620915" 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-08-18T20:13:04.620587" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.621409" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:04.621107" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.621994" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:04.621666" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:04.622502" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e92b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:04.622193" 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-08-18T20:13:04.615801" elapsed="0.006800"/>
</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-08-18T20:13:04.627048" level="INFO">${req} = &lt;Element 'flow' at 0x79a9856e9530&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:04.626690" 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-08-18T20:13:04.627218" 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-08-18T20:13:04.627634" elapsed="0.000250"/>
</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-08-18T20:13:04.628029" 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-08-18T20:13:04.628442" elapsed="0.000348"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:04.629201" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986320b30&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-08-18T20:13:04.628938" elapsed="0.000290"/>
</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-08-18T20:13:04.629369" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:04.630137" 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-08-18T20:13:04.629768" elapsed="0.000432"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:04.630732" 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-08-18T20:13:04.630343" elapsed="0.000435"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:05.105954" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:05.106143" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:05.106471" 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-08-18T20:13:04.630906" elapsed="0.475628"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.111786" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:05.107129" elapsed="0.004761"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9856e92b0&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9856e92b0&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-08-18T20:13:04.626334" elapsed="0.485696"/>
</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-08-18T20:13:04.622762" elapsed="0.489391"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-08-18T20:13:04.611030" elapsed="0.501204"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.113353" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:05.112788" elapsed="0.000665"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:05.117523" 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-08-18T20:13:05.117684" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:05.117373" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:05.118318" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0c70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:05.117882" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:05.118799" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:05.118500" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:05.119244" 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-08-18T20:13:05.118975" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:05.119688" 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-08-18T20:13:05.119419" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:05.120497" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:05.119879" elapsed="0.000650"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.121029" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:05.120687" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.121530" 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-08-18T20:13:05.121224" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.122046" 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-08-18T20:13:05.121720" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.122545" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:05.122247" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.123060" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:05.122739" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.123562" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0c70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:05.123254" 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-08-18T20:13:05.117024" elapsed="0.006635"/>
</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-08-18T20:13:05.128096" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abd3a0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:05.127764" elapsed="0.000360"/>
</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-08-18T20:13:05.128267" elapsed="0.000263"/>
</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-08-18T20:13:05.128677" 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-08-18T20:13:05.129075" elapsed="0.000239"/>
</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-08-18T20:13:05.129459" elapsed="0.000344"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:05.130272" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abf8d0&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-08-18T20:13:05.129991" elapsed="0.000309"/>
</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-08-18T20:13:05.130443" elapsed="0.000243"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:05.131197" 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-08-18T20:13:05.130844" elapsed="0.000414"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:05.131792" 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-08-18T20:13:05.131401" elapsed="0.000422"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:05.605734" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:05.605926" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:add-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:05.606159" 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-08-18T20:13:05.131951" elapsed="0.474264"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.610985" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:05.606580" elapsed="0.004504"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deploys a flow specified by given flow details (${node_id}, &lt;Element 'flow' at 0x79a9855d0c70&gt;) using add-flow operation.
&lt;Element 'flow' at 0x79a9855d0c70&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-08-18T20:13:05.127399" elapsed="0.483815"/>
</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-08-18T20:13:05.123820" elapsed="0.487510"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-08-18T20:13:05.112470" elapsed="0.498937"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-08-18T20:12:40.488373" elapsed="25.123104"/>
</for>
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.612520" level="INFO">Length is 50.</msg>
<msg time="2026-08-18T20:13:05.612692" 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-08-18T20:13:05.611861" elapsed="0.000912"/>
</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-08-18T20:13:05.628435" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:05.629537" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/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":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":8,"nanosecond":953000000}},"flags":""},{"id":"#UF$TABLE*2-48","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":454000000}},"flags":""},{"id":"#UF$TABLE*2-45","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":10,"nanosecond":960000000}},"flags":""},{"id":"#UF$TABLE*2-44","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":461000000}},"flags":""},{"id":"#UF$TABLE*2-47","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":9,"nanosecond":953000000}},"flags":""},{"id":"#UF$TABLE*2-46","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":457000000}},"flags":""},{"id":"#UF$TABLE*2-41","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":12,"nanosecond":961000000}},"flags":""},{"id":"#UF$TABLE*2-40","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":471000000}},"flags":""},{"id":"#UF$TABLE*2-43","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":11,"nanosecond":967000000}},"flags":""},{"id":"#UF$TABLE*2-42","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":456000000}},"flags":""},{"id":"#UF$TABLE*2-38","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":472000000}},"flags":""},{"id":"#UF$TABLE*2-37","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":14,"nanosecond":972000000}},"flags":""},{"id":"#UF$TABLE*2-39","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":13,"nanosecond":969000000}},"flags":""},{"id":"#UF$TABLE*2-34","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":477000000}},"flags":""},{"id":"#UF$TABLE*2-33","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":16,"nanosecond":978000000}},"flags":""},{"id":"#UF$TABLE*2-36","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":473000000}},"flags":""},{"id":"#UF$TABLE*2-35","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":15,"nanosecond":972000000}},"flags":"... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:05.629869" 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-08-18T20:13:05.619444" elapsed="0.010463"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.633693" 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":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":8,"nanosecond":953000000}},"flags":""},{"id":"#UF$TABLE*2-48","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":454000000}},"flags":""},{"id":"#UF$TABLE*2-45","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":10,"nanosecond":960000000}},"flags":""},{"id":"#UF$TABLE*2-44","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":461000000}},"flags":""},{"id":"#UF$TABLE*2-47","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":9,"nanosecond":953000000}},"flags":""},{"id":"#UF$TABLE*2-46","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":457000000}},"flags":""},{"id":"#UF$TABLE*2-41","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":12,"nanosecond":961000000}},"flags":""},{"id":"#UF$TABLE*2-40","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":471000000}},"flags":""},{"id":"#UF$TABLE*2-43","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":11,"nanosecond":967000000}},"flags":""},{"id":"#UF$TABLE*2-42","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":456000000}},"flags":""},{"id":"#UF$TABLE*2-38","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":472000000}},"flags":""},{"id":"#UF$TABLE*2-37","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":14,"nanosecond":972000000}},"flags":""},{"id":"#UF$TABLE*2-39","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":13,"nanosecond":969000000}},"flags":""},{"id":"#UF$TABLE*2-34","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":477000000}},"flags":""},{"id":"#UF$TABLE*2-33","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":16,"nanosecond":978000000}},"flags":""},{"id":"#UF$TABLE*2-36","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":473000000}},"flags":""},{"id":"#UF$TABLE*2-35","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":15,"nanosecond":972000000}},"flags":""},{"id":"#UF$TABLE*2-30","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":481000000}},"flags":""},{"id":"#UF$TABLE*2-32","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":473000000}},"flags":""},{"id":"#UF$TABLE*2-31","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":17,"nanosecond":980000000}},"flags":""},{"id":"#UF$TABLE*2-61","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":2,"nanosecond":947000000}},"flags":""},{"id":"#UF$TABLE*2-60","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":444000000}},"flags":""},{"id":"#UF$TABLE*2-27","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":19,"nanosecond":983000000}},"flags":""},{"id":"#UF$TABLE*2-26","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":486000000}},"flags":""},{"id":"#UF$TABLE*2-29","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":18,"nanosecond":981000000}},"flags":""},{"id":"#UF$TABLE*2-28","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":481000000}},"flags":""},{"id":"#UF$TABLE*2-23","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":21,"nanosecond":986000000}},"flags":""},{"id":"#UF$TABLE*2-66","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":435000000}},"flags":""},{"id":"#UF$TABLE*2-22","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":487000000}},"flags":""},{"id":"#UF$TABLE*2-25","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":20,"nanosecond":987000000}},"flags":""},{"id":"#UF$TABLE*2-24","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":485000000}},"flags":""},{"id":"#UF$TABLE*2-63","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":1,"nanosecond":939000000}},"flags":""},{"id":"#UF$TABLE*2-62","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":437000000}},"flags":""},{"id":"#UF$TABLE*2-65","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":0,"nanosecond":937000000}},"flags":""},{"id":"#UF$TABLE*2-21","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":22,"nanosecond":988000000}},"flags":""},{"id":"#UF$TABLE*2-64","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":435000000}},"flags":""},{"id":"#UF$TABLE*2-20","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":491000000}},"flags":""},{"id":"#UF$TABLE*2-50","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":450000000}},"flags":""},{"id":"#UF$TABLE*2-19","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":23,"nanosecond":992000000}},"flags":""},{"id":"#UF$TABLE*2-59","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":3,"nanosecond":943000000}},"flags":""},{"id":"#UF$TABLE*2-18","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":491000000}},"flags":""},{"id":"#UF$TABLE*2-17","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":29000000}},"flags":""},{"id":"#UF$TABLE*2-56","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":445000000}},"flags":""},{"id":"#UF$TABLE*2-55","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":5,"nanosecond":947000000}},"flags":""},{"id":"#UF$TABLE*2-58","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":443000000}},"flags":""},{"id":"#UF$TABLE*2-57","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":4,"nanosecond":945000000}},"flags":""},{"id":"#UF$TABLE*2-52","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":448000000}},"flags":""},{"id":"#UF$TABLE*2-51","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":7,"nanosecond":948000000}},"flags":""},{"id":"#UF$TABLE*2-54","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":445000000}},"flags":""},{"id":"#UF$TABLE*2-53","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":6,"nanosecond":951000000}},"flags":""}]}]}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:05.630123" elapsed="0.004013"/>
</kw>
<kw name="Should Contain X Times" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.637662" 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-08-18T20:13:05.634349" elapsed="0.003489"/>
</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-08-18T20:13:05.619092" elapsed="0.018809"/>
</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-08-18T20:13:05.613130" elapsed="0.024821"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:13:05.641945" 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-08-18T20:13:05.638102" elapsed="0.003898"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:13:05.780251" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=60.720s, table=0, n_packets=16, n_bytes=1272, send_flow_rem priority=0 actions=CONTROLLER:65535
 cookie=0x1, duration=25.100s, table=2, n_packets=0, n_bytes=0, priority=1,ip,nw_dst=10.0.1.0/24 actions=dec_ttl
 cookie=0x1f, duration=13.542s, table=2, n_packets=0, n_bytes=0, priority=31,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0x24, duration=13.032s, 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=12.527s, 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.506s, 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=1.008s, table=2, n_packets=0, n_bytes=0, priority=219,dl_vlan=10,dl_vlan_pcp=3 actions=clear_actions
 cookie=0xda, duration=1.506s, table=2, n_packets=0, n_bytes=0, priority=218,tun_id=0x29a0/0xfff0 actions=goto_table:3
 cookie=0xd6, duration=2.010s, 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=16.043s, 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=15.544s, 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=11.031s, 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=9.525s, 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=2.508s, 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=20.557s, 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=20.054s, 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=3.515s, 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=3.018s, 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=5.516s, 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=5.016s, 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=4.514s, 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=4.014s, 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=8.019s, 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=7.519s, 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=7.022s, 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=6.018s, 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=6.516s, 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=8.521s, 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=9.024s, 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=10.528s, 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=10.024s, 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=11.532s, table=2, n_packets=0, n_bytes=0, priority=45,metadata=0x46605a66/0xfff0ffff actions=drop
 cookie=0x2b, duration=12.038s, table=2, n_packets=0, n_bytes=0, priority=43,icmp6,icmp_type=135,icmp_code=1 actions=dec_ttl
 cookie=0x17, duration=15.043s, 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=14.040s, 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=14.543s, table=2, n_packets=0, n_bytes=0, priority=24,tun_id=0xa1f actions=TABLE
 cookie=0x14, duration=16.548s, table=2, n_packets=0, n_bytes=0, priority=20,metadata=0x3039/0xf0ff actions=LOCAL
 cookie=0x13, duration=17.049s, table=2, n_packets=0, n_bytes=0, priority=19,metadata=0x3039 actions=IN_PORT
 cookie=0x12, duration=17.544s, 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=18.051s, 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=18.552s, 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=19.052s, 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=19.552s, 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=21.058s, 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=21.556s, 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=22.057s, 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=22.558s, 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=23.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=23.562s, 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=24.063s, table=2, n_packets=0, n_bytes=0, priority=3,dl_src=00:00:00:00:00:01 actions=drop
 cookie=0x2, duration=24.562s, 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-08-18T20:13:05.642153" elapsed="0.138282"/>
</kw>
<doc>Add all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-08-18T20:12:40.487985" elapsed="25.292584"/>
</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-08-18T20:13:05.791460" 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-08-18T20:13:05.791604" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:05.791318" elapsed="0.000339"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:05.792230" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986322ed0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:05.791826" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:05.792685" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:05.792407" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:05.793141" 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-08-18T20:13:05.792875" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:05.793578" 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-08-18T20:13:05.793314" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:05.794591" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:05.793763" elapsed="0.000860"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.795132" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:05.794796" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.795660" 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-08-18T20:13:05.795325" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.796193" 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-08-18T20:13:05.795869" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.796689" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:05.796383" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.797214" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:05.796898" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.797721" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986322ed0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:05.797407" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:05.790992" elapsed="0.006844"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.798371" 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-08-18T20:13:05.797987" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.798800" 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-08-18T20:13:05.798547" 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-08-18T20:13:05.806376" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:05.806072" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:05.812126" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:05.812252" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:05.812360" 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-08-18T20:13:05.806569" elapsed="0.005817"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.813007" 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-08-18T20:13:05.812603" elapsed="0.000470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.816186" 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-08-18T20:13:05.813276" elapsed="0.002985"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:05.818957" elapsed="0.000053"/>
</return>
<status status="PASS" start="2026-08-18T20:13:05.816377" elapsed="0.002692"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:05.816344" elapsed="0.002763"/>
</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-08-18T20:13:05.819312" 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-08-18T20:13:05.819654" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:05.819447" elapsed="0.000284"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:05.819423" elapsed="0.000364"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:05.819835" elapsed="0.000022"/>
</return>
<msg time="2026-08-18T20:13:05.822215" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:05.822281" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:05.805741" elapsed="0.016573"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:05.825168" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:05.823150" elapsed="0.002064"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:05.823124" elapsed="0.002111"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.825790" 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-08-18T20:13:05.825380" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.826319" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:05.825975" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:05.826394" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:05.826569" 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-08-18T20:13:05.822641" elapsed="0.003954"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:05.826763" 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-08-18T20:13:05.805175" elapsed="0.022040"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.834884" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:05.834552" elapsed="0.000360"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:05.843824" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:05.844550" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:05.844868" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:05.835041" elapsed="0.009855"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.845311" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:05.845057" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.848145" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:05.845499" elapsed="0.003673"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:05.851887" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:05.849282" elapsed="0.002678"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:05.849253" elapsed="0.002740"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:05.912434" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:05.912495" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:05.852197" elapsed="0.060323"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:05.914451" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:05.912637" elapsed="0.001876"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:05.912609" elapsed="0.001931"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:05.914579" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:05.914816" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:05.914861" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:05.834166" elapsed="0.080717"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:05.917102" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:05.915523" elapsed="0.001625"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:05.915505" elapsed="0.001666"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.917793" 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-08-18T20:13:05.917322" elapsed="0.000500"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.918330" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:05.917982" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:05.918406" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:05.918583" 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-08-18T20:13:05.915138" 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-08-18T20:13:05.918778" 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-08-18T20:13:05.833550" elapsed="0.085709"/>
</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-08-18T20:13:05.787791" elapsed="0.131525"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:05.780945" elapsed="0.138492"/>
</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-08-18T20:13:05.930199" 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-08-18T20:13:05.930360" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:05.930056" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:05.930956" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a1e980&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:05.930540" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:05.931423" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:05.931142" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:05.931884" 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-08-18T20:13:05.931600" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:05.932323" 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-08-18T20:13:05.932057" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:05.933119" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:05.932500" elapsed="0.000650"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.933632" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:05.933304" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.934358" 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-08-18T20:13:05.933898" elapsed="0.000503"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.934897" 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-08-18T20:13:05.934554" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.935445" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:05.935110" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.935977" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:05.935641" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.936489" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a1e980&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:05.936172" 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-08-18T20:13:05.929707" elapsed="0.006880"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.937129" 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-08-18T20:13:05.936735" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.937549" 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-08-18T20:13:05.937309" 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-08-18T20:13:05.945151" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:05.944841" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:05.950125" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:05.950283" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:05.950383" 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-08-18T20:13:05.945305" elapsed="0.005103"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.950835" 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-08-18T20:13:05.950565" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.952974" 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-08-18T20:13:05.951034" elapsed="0.001991"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:05.954816" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:05.953095" elapsed="0.001788"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:05.953076" elapsed="0.001831"/>
</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-08-18T20:13:05.955063" 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-08-18T20:13:05.955283" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:05.955154" elapsed="0.000213"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:05.955138" elapsed="0.000253"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:05.955424" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:05.957033" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:05.957078" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:05.944516" elapsed="0.012585"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:05.959216" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:05.957634" elapsed="0.001626"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:05.957616" elapsed="0.001670"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.959984" 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-08-18T20:13:05.959430" elapsed="0.000594"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.960790" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:05.960259" elapsed="0.000571"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:05.960904" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:13:05.961165" 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-08-18T20:13:05.957308" elapsed="0.003895"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:05.961429" 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-08-18T20:13:05.943970" elapsed="0.018155"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.972481" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:05.972188" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:05.983371" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:05.984644" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:05.985073" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:05.972635" elapsed="0.012476"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.985687" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:05.985335" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:05.989534" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:05.985973" elapsed="0.004634"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:05.993341" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:05.990710" elapsed="0.002700"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:05.990683" elapsed="0.002758"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.021282" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:06.021331" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:05.993630" elapsed="0.027725"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.023156" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.021435" elapsed="0.001778"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.021416" elapsed="0.001821"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:06.023271" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:06.023468" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:06.023512" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:05.971813" elapsed="0.051722"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.025671" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.024118" elapsed="0.001598"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.024100" elapsed="0.001638"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.026301" 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-08-18T20:13:06.025899" elapsed="0.000430"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.026866" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.026488" elapsed="0.000405"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.026943" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.027121" 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-08-18T20:13:06.023775" elapsed="0.003372"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.027301" 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-08-18T20:13:05.970966" elapsed="0.056797"/>
</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-08-18T20:13:05.926484" elapsed="0.101339"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:05.919762" elapsed="0.108173"/>
</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-08-18T20:13:06.038612" 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-08-18T20:13:06.038776" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.038473" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:06.039345" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a11670&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:06.038958" elapsed="0.000415"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.039812" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:06.039521" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.040254" 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-08-18T20:13:06.039987" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.040772" 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-08-18T20:13:06.040488" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.041527" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:06.040947" elapsed="0.000610"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.042054" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.041710" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.042610" 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-08-18T20:13:06.042291" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.043153" 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-08-18T20:13:06.042830" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.043651" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.043343" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.044175" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:06.043861" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.044679" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a11670&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.044367" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:06.038149" elapsed="0.006641"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.045312" 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-08-18T20:13:06.044938" elapsed="0.000403"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.045725" 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-08-18T20:13:06.045488" 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-08-18T20:13:06.053489" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.053192" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.059177" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.059308" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:06.059405" 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-08-18T20:13:06.053645" elapsed="0.005785"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.059862" 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-08-18T20:13:06.059592" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.061985" 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-08-18T20:13:06.060049" elapsed="0.001988"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:06.063839" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:06.062107" elapsed="0.001800"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.062088" elapsed="0.001843"/>
</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-08-18T20:13:06.064069" 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-08-18T20:13:06.064289" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.064159" elapsed="0.000212"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:06.064143" elapsed="0.000252"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.064427" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:06.066037" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:06.066081" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:06.052882" elapsed="0.013222"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.068227" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.066669" elapsed="0.001602"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.066651" elapsed="0.001642"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.068845" 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-08-18T20:13:06.068437" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.069373" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.069032" elapsed="0.000367"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.069448" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.069622" 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-08-18T20:13:06.066311" elapsed="0.003336"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.069814" 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-08-18T20:13:06.052320" 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-08-18T20:13:06.077894" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.077586" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.089122" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.089865" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:06.090151" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:06.078047" elapsed="0.012131"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.090603" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:06.090335" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.093506" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:06.090803" elapsed="0.003482"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.096100" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.094358" elapsed="0.001791"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.094338" elapsed="0.001834"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.119475" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:06.119522" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:06.096309" elapsed="0.023235"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.121293" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.119623" elapsed="0.001726"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.119604" elapsed="0.001768"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:06.121406" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:06.121598" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:06.121642" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:06.077217" elapsed="0.044447"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.123814" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.122230" elapsed="0.001629"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.122212" elapsed="0.001668"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.124422" 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-08-18T20:13:06.124023" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.124970" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.124606" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.125045" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.125220" 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-08-18T20:13:06.121900" elapsed="0.003345"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.125397" 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-08-18T20:13:06.076603" elapsed="0.049258"/>
</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-08-18T20:13:06.034964" elapsed="0.090953"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:06.028187" elapsed="0.097843"/>
</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-08-18T20:13:06.136761" 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-08-18T20:13:06.136894" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.136610" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:06.137461" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583b150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:06.137071" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.137932" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:06.137635" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.138385" 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-08-18T20:13:06.138107" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.138851" 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-08-18T20:13:06.138557" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.139636" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:06.139023" elapsed="0.000643"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.140157" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.139833" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.140704" 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-08-18T20:13:06.140386" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.141232" 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-08-18T20:13:06.140910" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.141728" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.141422" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.142251" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:06.141937" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.142792" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583b150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.142463" 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-08-18T20:13:06.136287" elapsed="0.006602"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.143411" 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-08-18T20:13:06.143036" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.143839" 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-08-18T20:13:06.143587" 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-08-18T20:13:06.153317" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.153019" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.158640" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.158780" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:06.158894" 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-08-18T20:13:06.153477" elapsed="0.005442"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.159325" 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-08-18T20:13:06.159077" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.161432" 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-08-18T20:13:06.159509" elapsed="0.001974"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:06.163280" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:06.161553" elapsed="0.001794"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.161534" elapsed="0.001837"/>
</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-08-18T20:13:06.163514" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.163782" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.163636" elapsed="0.000200"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:06.163619" elapsed="0.000239"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.163890" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:06.165471" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:06.165515" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:06.152693" elapsed="0.012845"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.168201" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.166080" elapsed="0.002186"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.166062" elapsed="0.002234"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.169085" 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-08-18T20:13:06.168493" elapsed="0.000630"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.169854" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.169343" elapsed="0.000548"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.169961" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:06.170217" 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-08-18T20:13:06.165754" elapsed="0.004500"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.170472" elapsed="0.000551"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:06.152147" elapsed="0.018964"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.180918" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.180609" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.192302" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.193319" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:06.193714" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:06.181070" elapsed="0.012698"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.194364" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:06.193990" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.198421" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:06.194623" elapsed="0.004877"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.202110" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.199605" elapsed="0.002576"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.199576" elapsed="0.002635"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.227487" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:06.227534" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:06.202400" elapsed="0.025157"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.229316" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.227635" elapsed="0.001737"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.227616" elapsed="0.001780"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:06.229430" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.229622" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:06.229665" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:06.180242" elapsed="0.049445"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.231824" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.230251" elapsed="0.001618"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.230233" elapsed="0.001658"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.232430" 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-08-18T20:13:06.232034" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.233005" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.232615" elapsed="0.000417"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.233081" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.233258" 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-08-18T20:13:06.229913" elapsed="0.003370"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.233437" 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-08-18T20:13:06.179630" elapsed="0.054271"/>
</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-08-18T20:13:06.133077" elapsed="0.100880"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:06.126307" elapsed="0.107800"/>
</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-08-18T20:13:06.244909" 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-08-18T20:13:06.245043" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.244771" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:06.245625" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a7f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:06.245222" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.246125" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:06.245820" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.246572" 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-08-18T20:13:06.246302" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.247030" 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-08-18T20:13:06.246759" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.247859" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:06.247205" elapsed="0.000684"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.248365" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.248042" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.248936" 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-08-18T20:13:06.248596" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.249451" 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-08-18T20:13:06.249129" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.249977" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.249642" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.250485" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:06.250171" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.251007" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a7f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.250677" 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-08-18T20:13:06.244436" elapsed="0.006668"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.251626" 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-08-18T20:13:06.251251" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.252056" 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-08-18T20:13:06.251818" 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-08-18T20:13:06.259827" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.259514" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.264219" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.264341" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:06.264436" 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-08-18T20:13:06.259982" elapsed="0.004479"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.264893" 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-08-18T20:13:06.264620" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.267030" 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-08-18T20:13:06.265076" elapsed="0.002005"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:06.268882" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:06.267150" elapsed="0.001798"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.267131" elapsed="0.001841"/>
</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-08-18T20:13:06.269143" 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-08-18T20:13:06.269365" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.269234" elapsed="0.000182"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:06.269218" elapsed="0.000221"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.269471" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:06.271442" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:06.271504" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:06.259204" elapsed="0.012332"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.274495" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.272303" elapsed="0.002256"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.272279" elapsed="0.002310"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.275353" 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-08-18T20:13:06.274807" elapsed="0.000583"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.276119" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.275612" elapsed="0.000543"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.276224" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:06.276471" 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-08-18T20:13:06.271849" elapsed="0.004656"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.276717" elapsed="0.000554"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:06.258643" elapsed="0.018716"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.286540" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.286243" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.298692" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.299713" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:06.300121" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:06.286693" elapsed="0.013465"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.300737" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:06.300381" elapsed="0.000443"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.304816" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:06.301020" elapsed="0.004899"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.308449" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.306022" elapsed="0.002497"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.305994" elapsed="0.002556"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.335673" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:06.335720" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:06.308739" elapsed="0.027016"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.337510" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.335834" elapsed="0.001732"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.335815" elapsed="0.001775"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:06.337624" elapsed="0.000036"/>
</return>
<msg time="2026-08-18T20:13:06.337851" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:06.337894" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:06.285874" elapsed="0.052042"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.340048" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.338453" elapsed="0.001640"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.338435" elapsed="0.001679"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.340653" 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-08-18T20:13:06.340260" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.341202" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.340855" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.341277" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.341453" 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-08-18T20:13:06.338127" elapsed="0.003351"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.341654" 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-08-18T20:13:06.285247" elapsed="0.056871"/>
</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-08-18T20:13:06.241224" elapsed="0.100951"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:06.234355" elapsed="0.107929"/>
</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-08-18T20:13:06.352914" 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-08-18T20:13:06.353046" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.352776" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:06.353636" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858395d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:06.353222" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.354107" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:06.353828" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.354545" 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-08-18T20:13:06.354280" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.354995" 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-08-18T20:13:06.354715" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.355802" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:06.355166" elapsed="0.000667"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.356306" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.355985" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.356864" 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-08-18T20:13:06.356534" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.357375" 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-08-18T20:13:06.357055" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.357907" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.357579" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.358415" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:06.358102" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.358935" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858395d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.358608" 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-08-18T20:13:06.352439" elapsed="0.006593"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.359554" 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-08-18T20:13:06.359178" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.359985" 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-08-18T20:13:06.359730" 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-08-18T20:13:06.367801" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.367484" elapsed="0.000345"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.373019" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.373139" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:06.373236" 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-08-18T20:13:06.367962" elapsed="0.005299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.373691" 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-08-18T20:13:06.373421" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.375872" 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-08-18T20:13:06.373895" 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-08-18T20:13:06.377792" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:06.375993" elapsed="0.001866"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.375975" 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-08-18T20:13:06.378022" 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-08-18T20:13:06.378282" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.378148" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:06.378131" elapsed="0.000227"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.378391" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:06.380724" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:06.380806" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:06.367176" elapsed="0.013663"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.383871" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.381602" elapsed="0.002333"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.381576" elapsed="0.002391"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.384721" 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-08-18T20:13:06.384167" elapsed="0.000612"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.385508" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.385010" elapsed="0.000537"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.385618" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:06.385890" 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-08-18T20:13:06.381132" elapsed="0.004794"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.386143" 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-08-18T20:13:06.366615" elapsed="0.020171"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.395710" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.395414" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.405867" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.406582" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:06.406891" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:06.395882" elapsed="0.011038"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.407331" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:06.407079" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.410266" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:06.407517" elapsed="0.004282"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.415933" elapsed="0.000035"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.411962" elapsed="0.004082"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.411919" elapsed="0.004174"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.442721" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:06.442782" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:06.416397" elapsed="0.026409"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.444568" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.442886" elapsed="0.001738"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.442867" elapsed="0.001781"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:06.444682" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.444890" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:06.444934" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:06.395046" elapsed="0.049910"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.447108" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.445519" elapsed="0.001634"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.445501" elapsed="0.001674"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.447722" 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-08-18T20:13:06.447325" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.448272" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.447927" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.448347" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:06.448524" 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-08-18T20:13:06.445168" elapsed="0.003381"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.448702" 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-08-18T20:13:06.394432" elapsed="0.054731"/>
</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-08-18T20:13:06.349243" elapsed="0.099976"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:06.342528" elapsed="0.106813"/>
</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-08-18T20:13:06.459998" 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-08-18T20:13:06.460131" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.459861" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:06.460709" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4180&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:06.460306" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.461173" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:06.460901" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.461625" 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-08-18T20:13:06.461359" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.462081" 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-08-18T20:13:06.461815" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.462969" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:06.462253" elapsed="0.000747"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.463475" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.463152" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.464050" 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-08-18T20:13:06.463713" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.464562" 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-08-18T20:13:06.464240" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.465075" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.464765" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.465593" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:06.465280" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.466113" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4180&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.465800" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:06.459525" elapsed="0.006682"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.466725" 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-08-18T20:13:06.466350" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.467153" 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-08-18T20:13:06.466916" 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-08-18T20:13:06.474944" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.474629" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.480468" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.480668" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:06.480834" 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-08-18T20:13:06.475098" elapsed="0.005772"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.481457" 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-08-18T20:13:06.481089" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.484441" 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-08-18T20:13:06.481713" elapsed="0.002800"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:06.487025" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-08-18T20:13:06.484608" elapsed="0.002549"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.484582" elapsed="0.002613"/>
</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-08-18T20:13:06.487387" 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-08-18T20:13:06.487695" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.487512" elapsed="0.000276"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:06.487490" elapsed="0.000332"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.487866" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:06.490064" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:06.490109" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:06.474322" elapsed="0.015810"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.492225" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.490662" elapsed="0.001608"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.490644" elapsed="0.001648"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.492843" 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-08-18T20:13:06.492434" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.493383" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.493026" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.493458" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.493635" 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-08-18T20:13:06.490337" elapsed="0.003323"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.493829" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:06.473777" elapsed="0.020495"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.501905" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.501596" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.513274" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.514935" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:06.515566" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:06.502058" elapsed="0.013567"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.516574" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:06.516011" elapsed="0.000663"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.522731" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:06.517032" elapsed="0.006792"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.526353" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.523926" elapsed="0.002496"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.523898" elapsed="0.002555"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.550217" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:06.550263" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:06.526646" elapsed="0.023640"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.552052" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.550364" elapsed="0.001744"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.550346" elapsed="0.001786"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:06.552165" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.552357" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:06.552399" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:06.501224" elapsed="0.051197"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.554549" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.552985" elapsed="0.001610"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.552967" elapsed="0.001651"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.555175" 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-08-18T20:13:06.554776" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.555707" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.555360" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.555798" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:06.555978" 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-08-18T20:13:06.552633" elapsed="0.003371"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.556158" elapsed="0.000381"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:06.500581" elapsed="0.056021"/>
</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-08-18T20:13:06.456312" elapsed="0.100346"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:06.449588" elapsed="0.107195"/>
</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-08-18T20:13:06.567402" 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-08-18T20:13:06.567534" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.567267" elapsed="0.000296"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:06.568136" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0360&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:06.567709" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.568582" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:06.568310" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.569061" 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-08-18T20:13:06.568769" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.569497" 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-08-18T20:13:06.569233" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.570417" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:06.569668" elapsed="0.000780"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.570940" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.570603" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.571488" 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-08-18T20:13:06.571169" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.572019" 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-08-18T20:13:06.571679" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.572515" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.572208" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.573046" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:06.572705" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.575301" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0360&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.573237" elapsed="0.002108"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:06.566945" elapsed="0.008455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.575944" 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-08-18T20:13:06.575549" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.576359" 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-08-18T20:13:06.576123" 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-08-18T20:13:06.584077" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.583781" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.589727" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.589867" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:06.589979" 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-08-18T20:13:06.584230" elapsed="0.005774"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.590408" 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-08-18T20:13:06.590161" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.593410" 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-08-18T20:13:06.590672" elapsed="0.002808"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:06.596041" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:13:06.593624" elapsed="0.002510"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.593597" elapsed="0.002570"/>
</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-08-18T20:13:06.596360" 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-08-18T20:13:06.596669" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.596486" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:06.596463" elapsed="0.000339"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.596848" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:06.599078" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:06.599140" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:06.583456" elapsed="0.015715"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.602011" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.599927" elapsed="0.002129"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.599903" elapsed="0.002175"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.602616" 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-08-18T20:13:06.602220" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.603159" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.602815" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.603233" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.603408" 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-08-18T20:13:06.599457" elapsed="0.003975"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.603584" 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-08-18T20:13:06.582916" elapsed="0.021123"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.611666" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.611367" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.623627" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.625303" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:06.625955" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:06.611833" elapsed="0.014182"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.626965" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:06.626363" elapsed="0.000703"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.633518" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:06.627377" elapsed="0.006987"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.636155" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.634436" elapsed="0.001768"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.634418" elapsed="0.001808"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.658328" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:06.658374" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:06.636360" elapsed="0.022036"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.660156" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.658474" elapsed="0.001738"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.658455" elapsed="0.001781"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:06.660269" elapsed="0.000026"/>
</return>
<msg time="2026-08-18T20:13:06.660458" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:06.660500" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:06.611000" elapsed="0.049522"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.662655" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.661102" elapsed="0.001597"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.661084" elapsed="0.001637"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.663274" 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-08-18T20:13:06.662878" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.663839" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.663460" elapsed="0.000413"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.663923" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.664109" 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-08-18T20:13:06.660772" elapsed="0.003362"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.664288" 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-08-18T20:13:06.610390" elapsed="0.054375"/>
</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-08-18T20:13:06.563760" elapsed="0.101065"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:06.557051" elapsed="0.107886"/>
</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-08-18T20:13:06.675515" 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-08-18T20:13:06.675648" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.675379" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:06.676250" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985910a40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:06.675840" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.676709" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:06.676425" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.677168" 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-08-18T20:13:06.676902" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.677602" 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-08-18T20:13:06.677339" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.678506" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:06.677788" elapsed="0.000748"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.679027" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.678688" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.679571" 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-08-18T20:13:06.679253" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.680098" 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-08-18T20:13:06.679775" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.680621" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.680285" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.681146" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:06.680829" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.681649" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985910a40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.681338" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:06.675058" elapsed="0.006701"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.682281" 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-08-18T20:13:06.681908" elapsed="0.000403"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.682690" 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-08-18T20:13:06.682456" 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-08-18T20:13:06.690480" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.690183" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.695249" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.695372" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:06.695473" 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-08-18T20:13:06.690633" elapsed="0.004867"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.695938" 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-08-18T20:13:06.695660" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.698117" 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-08-18T20:13:06.696125" 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-08-18T20:13:06.700027" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-08-18T20:13:06.698237" elapsed="0.001861"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.698218" 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-08-18T20:13:06.700262" 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-08-18T20:13:06.700516" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.700354" elapsed="0.000219"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:06.700337" elapsed="0.000259"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.700628" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:06.702647" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:06.702710" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:06.689871" elapsed="0.012887"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.705784" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.703511" elapsed="0.002339"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.703486" elapsed="0.002395"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.706627" 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-08-18T20:13:06.706081" elapsed="0.000584"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.707387" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.706906" elapsed="0.000518"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.707493" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:06.707740" 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-08-18T20:13:06.703052" elapsed="0.004744"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.708012" 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-08-18T20:13:06.689306" elapsed="0.019349"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.717940" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.717627" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.728036" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.730271" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:06.731114" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:06.718093" elapsed="0.013094"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.732449" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:06.731650" elapsed="0.000926"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.739033" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:06.733182" elapsed="0.006634"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.741656" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.739893" elapsed="0.001814"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.739872" elapsed="0.001857"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.765650" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:06.765696" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:06.741883" elapsed="0.023836"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.767484" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.765813" elapsed="0.001727"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.765793" elapsed="0.001771"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:06.767597" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:06.767810" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:06.767854" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:06.717261" elapsed="0.050615"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.770107" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.768510" elapsed="0.001642"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.768491" elapsed="0.001683"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.770730" 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-08-18T20:13:06.770323" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.771281" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.770932" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.771355" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:06.771532" 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-08-18T20:13:06.768098" elapsed="0.003458"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.771708" 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-08-18T20:13:06.716647" elapsed="0.055567"/>
</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-08-18T20:13:06.671862" elapsed="0.100410"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:06.665179" elapsed="0.107209"/>
</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-08-18T20:13:06.783067" 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-08-18T20:13:06.783208" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.782929" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:06.783813" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0400&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:06.783384" elapsed="0.000457"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.784286" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:06.783988" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.784723" 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-08-18T20:13:06.784459" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.785175" 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-08-18T20:13:06.784911" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.786083" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:06.785346" elapsed="0.000767"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.786591" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.786265" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.787158" 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-08-18T20:13:06.786839" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.787669" 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-08-18T20:13:06.787349" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.788195" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.787871" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.788704" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:06.788389" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.789225" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0400&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.788911" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:06.782588" elapsed="0.006731"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.789854" 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-08-18T20:13:06.789465" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.790266" 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-08-18T20:13:06.790031" 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-08-18T20:13:06.798036" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.797723" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.802553" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.802677" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:06.802793" 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-08-18T20:13:06.798189" elapsed="0.004631"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.803230" 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-08-18T20:13:06.802983" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.805365" 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-08-18T20:13:06.803412" elapsed="0.002004"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:06.807225" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:06.805484" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.805466" elapsed="0.001854"/>
</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-08-18T20:13:06.807462" 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-08-18T20:13:06.807684" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.807555" elapsed="0.000179"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:06.807538" elapsed="0.000235"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.807805" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:06.809843" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:06.809906" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:06.797414" elapsed="0.012524"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.812952" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.810680" elapsed="0.002339"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.810655" elapsed="0.002396"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.813869" 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-08-18T20:13:06.813261" elapsed="0.000648"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.814656" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.814143" elapsed="0.000552"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.814788" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:13:06.815054" 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-08-18T20:13:06.810225" elapsed="0.004866"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.815338" elapsed="0.000633"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:06.796866" elapsed="0.019219"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.825058" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.824762" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.845416" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.847154" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:06.847850" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:06.825210" elapsed="0.022721"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.848946" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:06.848310" elapsed="0.000743"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.856145" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:06.849386" elapsed="0.007721"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.858908" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.857180" elapsed="0.001777"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.857161" elapsed="0.001818"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.881528" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:06.881575" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:06.859114" elapsed="0.022485"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.883371" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.881677" elapsed="0.001751"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.881658" elapsed="0.001794"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:06.883486" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:06.883678" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:06.883721" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:06.824380" elapsed="0.059377"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.885894" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.884312" elapsed="0.001628"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.884293" elapsed="0.001669"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.886507" 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-08-18T20:13:06.886105" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.887056" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.886692" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.887131" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:06.887308" 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-08-18T20:13:06.883983" elapsed="0.003350"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.887486" 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-08-18T20:13:06.823741" elapsed="0.064221"/>
</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-08-18T20:13:06.779391" elapsed="0.108627"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:06.772653" elapsed="0.115479"/>
</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-08-18T20:13:06.898837" 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-08-18T20:13:06.898976" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.898683" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:06.899564" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:06.899152" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.900043" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:06.899766" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.900482" 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-08-18T20:13:06.900217" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:06.900936" 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-08-18T20:13:06.900654" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.901852" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:06.901108" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.902363" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.902035" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.902939" 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-08-18T20:13:06.902601" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.903454" 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-08-18T20:13:06.903132" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.904002" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:06.903643" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.904510" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:06.904196" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.905034" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:06.904702" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:06.898351" elapsed="0.006779"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.905648" 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-08-18T20:13:06.905276" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.906236" 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-08-18T20:13:06.905839" elapsed="0.000461"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.913866" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.913537" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.919445" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.919578" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:06.919691" 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-08-18T20:13:06.914021" elapsed="0.005699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.920148" 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-08-18T20:13:06.919899" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.922284" 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-08-18T20:13:06.920332" elapsed="0.002002"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:06.924168" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:06.922403" elapsed="0.001835"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.922384" elapsed="0.001879"/>
</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-08-18T20:13:06.924403" 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-08-18T20:13:06.924627" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.924496" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:06.924478" elapsed="0.000222"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.924732" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:06.926336" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:06.926380" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:06.913228" elapsed="0.013175"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.928608" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.926966" elapsed="0.001720"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.926948" elapsed="0.001771"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.929488" 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-08-18T20:13:06.928937" elapsed="0.000588"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.930248" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.929762" elapsed="0.000523"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.930352" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:06.930598" 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-08-18T20:13:06.926609" elapsed="0.004024"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.930874" elapsed="0.000532"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:06.912670" elapsed="0.018824"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.941825" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:06.941514" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:06.952824" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:06.953861" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:06.954255" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:06.941977" elapsed="0.012315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.954883" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:06.954511" elapsed="0.000435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.958937" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:06.955141" elapsed="0.004904"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.962546" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.960147" elapsed="0.002467"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.960119" elapsed="0.002527"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:06.986795" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:06.986843" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:06.962854" elapsed="0.024012"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:06.988614" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:06.986943" elapsed="0.001727"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.986925" elapsed="0.001769"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:06.988728" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:13:06.988941" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:06.988984" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:06.941148" elapsed="0.047858"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:06.991103" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:06.989542" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:06.989524" elapsed="0.001645"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.991723" 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-08-18T20:13:06.991313" elapsed="0.000452"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:06.992276" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:06.991925" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:06.992355" elapsed="0.000047"/>
</return>
<msg time="2026-08-18T20:13:06.992580" 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-08-18T20:13:06.989216" elapsed="0.003389"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:06.992795" 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-08-18T20:13:06.940466" elapsed="0.052787"/>
</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-08-18T20:13:06.895140" elapsed="0.098168"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:06.888390" elapsed="0.105028"/>
</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-08-18T20:13:07.004274" 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-08-18T20:13:07.004414" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:07.004136" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:07.005025" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abca90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:07.004593" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.005474" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:07.005201" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.005929" 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-08-18T20:13:07.005647" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.006366" 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-08-18T20:13:07.006101" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.007218" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:07.006538" elapsed="0.000710"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.007766" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.007424" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.008330" 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-08-18T20:13:07.008009" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.008859" 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-08-18T20:13:07.008522" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.009357" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:07.009051" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.009880" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:07.009553" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.010388" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abca90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.010074" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:07.003809" elapsed="0.006673"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.011019" 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-08-18T20:13:07.010628" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.011445" 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-08-18T20:13:07.011196" 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-08-18T20:13:07.020896" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.020570" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.025722" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.025874" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:07.025982" 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-08-18T20:13:07.021050" elapsed="0.004957"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.026410" 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-08-18T20:13:07.026163" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.028641" 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-08-18T20:13:07.026594" 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-08-18T20:13:07.030548" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:07.028791" elapsed="0.001827"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.028768" 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-08-18T20:13:07.030834" 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-08-18T20:13:07.031062" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.030929" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:07.030912" elapsed="0.000227"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.031172" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:07.033408" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:07.033470" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:07.020258" elapsed="0.013244"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.036517" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.034277" elapsed="0.002304"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.034252" elapsed="0.002359"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.037443" 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-08-18T20:13:07.036830" elapsed="0.000649"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.038203" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.037701" elapsed="0.000539"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.038308" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:07.038552" 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-08-18T20:13:07.033815" elapsed="0.004771"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.038818" 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-08-18T20:13:07.019670" elapsed="0.019780"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.048294" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.048004" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.058255" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.059295" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:07.059683" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:07.048446" elapsed="0.011274"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.060316" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:07.059968" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.064352" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:07.060573" elapsed="0.004851"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.067898" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.065524" elapsed="0.002423"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.065497" elapsed="0.002472"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.089304" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:07.089350" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:07.068103" elapsed="0.021271"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:07.091169" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.089451" elapsed="0.001775"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.089432" elapsed="0.001818"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:07.091283" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:07.091475" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:07.091518" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:07.047620" elapsed="0.043921"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.093642" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.092095" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.092076" elapsed="0.001633"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.094269" 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-08-18T20:13:07.093866" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.094821" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.094453" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.094896" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:07.095083" 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-08-18T20:13:07.091768" elapsed="0.003340"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.095262" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:07.047003" elapsed="0.048701"/>
</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-08-18T20:13:07.000526" elapsed="0.095250"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:06.993664" elapsed="0.102235"/>
</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-08-18T20:13:07.106540" 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-08-18T20:13:07.106669" 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-08-18T20:13:07.106405" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:07.107266" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abef20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:07.106859" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.107717" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:07.107441" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.108179" 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-08-18T20:13:07.107908" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.108610" 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-08-18T20:13:07.108349" elapsed="0.000287"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.109445" 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-08-18T20:13:07.108796" elapsed="0.000680"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.109968" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.109628" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.110515" 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-08-18T20:13:07.110193" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.111051" 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-08-18T20:13:07.110703" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.111552" 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-08-18T20:13:07.111244" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.112071" 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-08-18T20:13:07.111756" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.112575" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abef20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.112261" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:07.106086" elapsed="0.006584"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.113200" 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-08-18T20:13:07.112828" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.113613" 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-08-18T20:13:07.113375" 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-08-18T20:13:07.121399" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.121105" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.125816" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.125937" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:07.126033" 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-08-18T20:13:07.121552" elapsed="0.004506"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.126465" 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-08-18T20:13:07.126216" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.128608" 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-08-18T20:13:07.126653" elapsed="0.002006"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:07.130454" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:07.128728" elapsed="0.001792"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.128709" elapsed="0.001863"/>
</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-08-18T20:13:07.130715" 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-08-18T20:13:07.130962" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.130822" elapsed="0.000199"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:07.130805" elapsed="0.000240"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.131078" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:07.132669" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:07.132713" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:07.120795" elapsed="0.011941"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.134844" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.133283" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.133265" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.135478" 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-08-18T20:13:07.135078" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.136284" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.135800" elapsed="0.000520"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.136388" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:07.136634" 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-08-18T20:13:07.132957" elapsed="0.003712"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.136903" 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-08-18T20:13:07.120234" elapsed="0.017323"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.148162" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.147867" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.157966" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.159609" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:07.160276" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:07.148315" elapsed="0.012020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.161273" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:07.160685" elapsed="0.000688"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.167762" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:07.161685" elapsed="0.006856"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.170337" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.168612" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.168594" elapsed="0.001814"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.192363" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:07.192410" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:07.170545" elapsed="0.021889"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:07.194202" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.192512" elapsed="0.001746"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.192493" elapsed="0.001789"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:07.194316" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:07.194508" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:07.194550" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:07.147385" elapsed="0.047187"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.196707" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.195144" elapsed="0.001621"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.195126" elapsed="0.001662"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.197327" 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-08-18T20:13:07.196933" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.197879" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.197514" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.197955" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.198132" 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-08-18T20:13:07.194811" elapsed="0.003346"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.198311" 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-08-18T20:13:07.146488" elapsed="0.052311"/>
</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-08-18T20:13:07.102885" elapsed="0.095972"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:07.096145" elapsed="0.102821"/>
</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-08-18T20:13:07.209577" 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-08-18T20:13:07.209708" 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-08-18T20:13:07.209442" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:07.210294" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570da30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:07.209900" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.210775" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:07.210468" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.211218" 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-08-18T20:13:07.210952" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.211656" 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-08-18T20:13:07.211388" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.212480" 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-08-18T20:13:07.211844" elapsed="0.000667"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.213003" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.212664" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.213545" 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-08-18T20:13:07.213230" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.214077" 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-08-18T20:13:07.213736" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.214578" 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-08-18T20:13:07.214265" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.215131" 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-08-18T20:13:07.214805" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.215635" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570da30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.215322" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:07.209120" elapsed="0.006609"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.216264" 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-08-18T20:13:07.215891" elapsed="0.000403"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.216676" 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-08-18T20:13:07.216440" 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-08-18T20:13:07.224435" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.224141" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.229065" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.229184" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:07.229280" 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-08-18T20:13:07.224587" elapsed="0.004718"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.229711" 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-08-18T20:13:07.229462" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.231861" 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-08-18T20:13:07.229921" elapsed="0.001990"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:07.233683" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:07.231980" elapsed="0.001782"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.231961" elapsed="0.001827"/>
</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-08-18T20:13:07.233958" 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-08-18T20:13:07.234182" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.234051" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:07.234034" elapsed="0.000221"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.234286" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:07.236132" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:07.236193" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:07.223833" elapsed="0.012392"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.239158" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.236988" elapsed="0.002233"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.236963" elapsed="0.002289"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.240022" 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-08-18T20:13:07.239449" elapsed="0.000609"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.240780" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.240277" elapsed="0.000542"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.240888" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:13:07.241135" 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-08-18T20:13:07.236513" elapsed="0.004657"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.241385" 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-08-18T20:13:07.223269" elapsed="0.018754"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.251332" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.251036" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.262957" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.263978" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:07.264362" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:07.251486" elapsed="0.012913"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.265002" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:07.264620" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.269050" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:07.265262" elapsed="0.004903"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.272701" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.270266" elapsed="0.002523"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.270240" elapsed="0.002582"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.297523" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:07.297569" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:07.273015" elapsed="0.024578"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:07.299374" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.297671" elapsed="0.001760"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.297652" elapsed="0.001803"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:07.299491" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:13:07.299689" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:07.299732" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:07.250651" elapsed="0.049118"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.301875" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.300309" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.300291" elapsed="0.001651"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.302491" 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-08-18T20:13:07.302085" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.303041" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.302675" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.303116" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.303292" 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-08-18T20:13:07.299984" elapsed="0.003332"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.303469" 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-08-18T20:13:07.250037" elapsed="0.053915"/>
</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-08-18T20:13:07.205934" elapsed="0.098075"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:07.199215" elapsed="0.104902"/>
</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-08-18T20:13:07.314658" 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-08-18T20:13:07.314806" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.314522" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:07.315374" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3e20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:07.314993" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.315844" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:07.315555" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.316285" 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-08-18T20:13:07.316020" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.316719" 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-08-18T20:13:07.316455" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.317473" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.316908" elapsed="0.000594"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.317996" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.317655" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.318570" 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-08-18T20:13:07.318230" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.319100" 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-08-18T20:13:07.318776" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.319593" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.319288" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.320115" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.319800" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.320619" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3e20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.320307" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:07.314189" elapsed="0.006525"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.321246" 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-08-18T20:13:07.320874" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.321654" 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-08-18T20:13:07.321421" elapsed="0.000290"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.329431" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.329131" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.333910" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.334030" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:07.334125" 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-08-18T20:13:07.329587" elapsed="0.004563"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.334576" 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-08-18T20:13:07.334308" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.336698" 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-08-18T20:13:07.334775" elapsed="0.001986"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:07.338551" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:07.336832" elapsed="0.001785"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.336813" elapsed="0.001828"/>
</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-08-18T20:13:07.338793" 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-08-18T20:13:07.339049" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.338884" elapsed="0.000218"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:07.338868" elapsed="0.000257"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.339158" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:07.340741" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:07.340799" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:07.328822" elapsed="0.012000"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.343028" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.341351" elapsed="0.001740"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.341333" elapsed="0.001788"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.343888" 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-08-18T20:13:07.343319" elapsed="0.000607"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.344625" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.344145" elapsed="0.000516"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.344729" elapsed="0.000060"/>
</return>
<msg time="2026-08-18T20:13:07.345001" 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-08-18T20:13:07.341028" elapsed="0.004007"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.345247" 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-08-18T20:13:07.328258" elapsed="0.017626"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.356098" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.355804" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.366503" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.367523" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:07.367931" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:07.356251" elapsed="0.011717"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.368537" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:07.368189" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.372607" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:07.368816" elapsed="0.004874"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.376233" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.373807" elapsed="0.002494"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.373779" elapsed="0.002553"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.400018" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:07.400064" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:07.376522" elapsed="0.023565"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:07.401856" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.400165" elapsed="0.001747"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.400146" elapsed="0.001790"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:07.401970" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:07.402182" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:07.402233" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:07.355421" elapsed="0.046836"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.404368" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.402813" elapsed="0.001600"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.402794" elapsed="0.001641"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.404988" 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-08-18T20:13:07.404578" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.405516" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.405171" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.405590" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.405782" 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-08-18T20:13:07.402469" elapsed="0.003339"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.405961" 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-08-18T20:13:07.354820" elapsed="0.051605"/>
</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-08-18T20:13:07.311025" elapsed="0.095455"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:07.304333" elapsed="0.102255"/>
</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-08-18T20:13:07.417198" 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-08-18T20:13:07.417329" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.417064" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:07.417902" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538a340&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:07.417507" elapsed="0.000423"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.418371" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:07.418088" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.418828" 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-08-18T20:13:07.418545" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.419264" 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-08-18T20:13:07.419000" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.419990" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.419434" elapsed="0.000587"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.420493" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.420173" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.421064" 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-08-18T20:13:07.420728" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.421573" 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-08-18T20:13:07.421254" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.422109" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.421775" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.422615" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.422302" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.423136" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538a340&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.422821" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:07.416730" elapsed="0.006503"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.423765" 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-08-18T20:13:07.423377" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.424178" 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-08-18T20:13:07.423941" elapsed="0.000294"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.433420" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.433122" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.439011" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.439134" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:07.439242" 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-08-18T20:13:07.433573" elapsed="0.005695"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.439678" 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-08-18T20:13:07.439428" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.441875" 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-08-18T20:13:07.439888" 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-08-18T20:13:07.443772" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:07.442009" elapsed="0.001832"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.441978" 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-08-18T20:13:07.444004" 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-08-18T20:13:07.444258" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.444094" elapsed="0.000216"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:07.444078" elapsed="0.000255"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.444365" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:07.446030" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:07.446076" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:07.432810" elapsed="0.013289"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.448952" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.446688" elapsed="0.002327"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.446658" elapsed="0.002387"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.449821" 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-08-18T20:13:07.449244" elapsed="0.000615"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.450592" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.450102" elapsed="0.000526"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.450699" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:13:07.450970" 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-08-18T20:13:07.446307" elapsed="0.004698"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.451220" 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-08-18T20:13:07.432238" elapsed="0.019631"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.461685" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.461386" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.471876" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.472900" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:07.473297" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:07.461853" elapsed="0.011480"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.473935" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:07.473550" elapsed="0.000448"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.522643" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:07.474192" elapsed="0.049278"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.525339" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.523577" elapsed="0.001816"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.523549" elapsed="0.001866"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.545228" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:07.545275" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:07.525594" elapsed="0.019704"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:07.547082" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.545376" elapsed="0.001762"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.545357" elapsed="0.001805"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:07.547196" elapsed="0.000035"/>
</return>
<msg time="2026-08-18T20:13:07.547406" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:07.547449" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:07.461017" elapsed="0.086454"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.549612" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.548072" elapsed="0.001584"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.548054" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.550310" 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-08-18T20:13:07.549868" elapsed="0.000469"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.550857" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.550495" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.550932" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.551110" 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-08-18T20:13:07.547711" 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-08-18T20:13:07.551289" 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-08-18T20:13:07.460399" elapsed="0.091365"/>
</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-08-18T20:13:07.413528" elapsed="0.138297"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:07.406788" elapsed="0.145160"/>
</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-08-18T20:13:07.562772" 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-08-18T20:13:07.562967" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.562617" elapsed="0.000379"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:07.563538" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388b80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:07.563146" elapsed="0.000421"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.564009" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:07.563715" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.564447" 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-08-18T20:13:07.564183" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.564900" 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-08-18T20:13:07.564619" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.565641" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.565073" elapsed="0.000599"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.566177" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.565849" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.566899" 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-08-18T20:13:07.566412" elapsed="0.000531"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.567425" 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-08-18T20:13:07.567094" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.567943" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.567615" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.568453" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.568136" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.568985" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388b80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.568650" 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-08-18T20:13:07.562287" elapsed="0.006794"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.569637" 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-08-18T20:13:07.569230" elapsed="0.000440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.570072" 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-08-18T20:13:07.569833" 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-08-18T20:13:07.577720" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.577402" elapsed="0.000359"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.582826" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.582958" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:07.583054" 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-08-18T20:13:07.577889" elapsed="0.005191"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.583487" 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-08-18T20:13:07.583237" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.585651" 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-08-18T20:13:07.583673" 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-08-18T20:13:07.587497" elapsed="0.000034"/>
</return>
<status status="PASS" start="2026-08-18T20:13:07.585791" elapsed="0.001778"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.585770" elapsed="0.001823"/>
</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-08-18T20:13:07.587733" elapsed="0.000037"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:07.588007" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.587840" elapsed="0.000221"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:07.587824" elapsed="0.000260"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.588117" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:07.589733" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:07.589794" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:07.577092" elapsed="0.012726"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.591924" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.590356" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.590338" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.592526" 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-08-18T20:13:07.592133" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.593070" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.592710" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.593145" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.593322" 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-08-18T20:13:07.590027" elapsed="0.003320"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.593499" elapsed="0.000432"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:07.576533" elapsed="0.017462"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.601627" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.601308" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.612846" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.613756" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:07.614051" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:07.601796" elapsed="0.012282"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.614483" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:07.614235" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.617222" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:07.614671" elapsed="0.003331"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.619811" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.618073" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.618054" elapsed="0.001827"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.641176" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:07.641222" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:07.620017" elapsed="0.021228"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:07.643089" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.641321" elapsed="0.001823"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.641302" elapsed="0.001866"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:07.643202" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:07.643392" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:07.643435" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:07.600936" elapsed="0.042522"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.645599" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.644011" elapsed="0.001632"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.643992" elapsed="0.001672"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.646217" 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-08-18T20:13:07.645823" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.646756" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.646401" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.646832" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.647007" 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-08-18T20:13:07.643669" elapsed="0.003363"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.647185" 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-08-18T20:13:07.600317" elapsed="0.047313"/>
</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-08-18T20:13:07.559066" elapsed="0.088619"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:07.552247" elapsed="0.095565"/>
</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-08-18T20:13:07.658414" 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-08-18T20:13:07.658546" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.658278" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:07.659151" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853899e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:07.658724" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.659601" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:07.659326" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.660056" 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-08-18T20:13:07.659789" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.660494" 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-08-18T20:13:07.660227" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.661364" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.660663" elapsed="0.000735"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.661887" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.661551" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.662436" 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-08-18T20:13:07.662120" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.662986" 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-08-18T20:13:07.662625" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.663483" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.663176" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.664002" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.663673" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.664503" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853899e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.664191" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:07.657954" elapsed="0.006643"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.665126" 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-08-18T20:13:07.664741" elapsed="0.000415"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.665550" 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-08-18T20:13:07.665302" 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-08-18T20:13:07.673345" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.673038" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.678367" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.678489" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:07.678584" 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-08-18T20:13:07.673499" elapsed="0.005110"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.679039" 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-08-18T20:13:07.678786" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.681149" 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-08-18T20:13:07.679223" elapsed="0.001976"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:07.683011" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:07.681292" elapsed="0.001815"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.681249" elapsed="0.001886"/>
</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-08-18T20:13:07.683274" 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-08-18T20:13:07.683494" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.683364" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:07.683348" elapsed="0.000218"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.683598" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:07.685192" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:07.685237" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:07.672713" elapsed="0.012555"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.687358" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.685821" elapsed="0.001582"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.685803" elapsed="0.001621"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.687972" 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-08-18T20:13:07.687565" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.688499" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.688156" elapsed="0.000368"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.688573" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.688762" 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-08-18T20:13:07.685480" elapsed="0.003308"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.688941" 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-08-18T20:13:07.672168" elapsed="0.017222"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.696993" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.696683" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.707499" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.708234" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:07.708514" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:07.697143" elapsed="0.011402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.708966" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:07.708700" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.711862" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:07.709150" elapsed="0.003481"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.714433" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.712702" elapsed="0.001779"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.712683" elapsed="0.001820"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.735918" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:07.735965" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:07.714639" elapsed="0.021349"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:07.737781" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.736064" elapsed="0.001783"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.736046" elapsed="0.001825"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:07.737905" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.738097" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:07.738141" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:07.696316" elapsed="0.041847"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.740259" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.738696" elapsed="0.001607"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.738678" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.740878" 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-08-18T20:13:07.740467" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.741433" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.741063" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.741508" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.741685" 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-08-18T20:13:07.738372" elapsed="0.003338"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.741879" 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-08-18T20:13:07.695707" elapsed="0.046616"/>
</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-08-18T20:13:07.654769" elapsed="0.087610"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:07.648056" elapsed="0.094431"/>
</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-08-18T20:13:07.753161" 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-08-18T20:13:07.753292" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.753000" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:07.753884" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cecd60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:07.753468" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.754330" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:07.754058" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.754788" 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-08-18T20:13:07.754505" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.755232" 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-08-18T20:13:07.754968" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.756094" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.755402" elapsed="0.000723"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.756599" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.756276" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.757184" 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-08-18T20:13:07.756844" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.757696" 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-08-18T20:13:07.757376" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.758209" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.757902" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.758714" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.758402" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.759237" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cecd60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.758923" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:07.752665" elapsed="0.006668"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.759865" 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-08-18T20:13:07.759477" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.760279" 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-08-18T20:13:07.760043" 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-08-18T20:13:07.768044" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.767735" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.772472" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.772590" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:07.772685" 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-08-18T20:13:07.768223" elapsed="0.004487"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.773168" 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-08-18T20:13:07.772890" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.775290" 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-08-18T20:13:07.773352" elapsed="0.001988"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:07.777140" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:07.775408" elapsed="0.001828"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.775390" elapsed="0.001873"/>
</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-08-18T20:13:07.777402" 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-08-18T20:13:07.777623" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.777492" elapsed="0.000183"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:07.777476" elapsed="0.000221"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.777729" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.779326" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:07.779371" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:07.767427" elapsed="0.011966"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.781505" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.779941" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.779924" elapsed="0.001647"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.782120" 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-08-18T20:13:07.781713" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.782646" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.782304" elapsed="0.000367"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.782720" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:13:07.782913" 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-08-18T20:13:07.779601" elapsed="0.003337"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.783089" elapsed="0.000377"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:07.766881" elapsed="0.016651"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.791245" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.790953" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.801659" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.802395" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:07.802685" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:07.791398" elapsed="0.011313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.803136" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:07.802885" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.806027" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:07.803320" elapsed="0.003475"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.808587" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.806868" elapsed="0.001767"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.806849" elapsed="0.001807"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.829035" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:07.829082" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:07.808806" elapsed="0.020300"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:07.830872" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.829184" elapsed="0.001744"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.829165" elapsed="0.001788"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:07.830987" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.831181" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:07.831225" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:07.790568" elapsed="0.040679"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.833376" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.831798" elapsed="0.001622"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.831779" elapsed="0.001663"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.834005" 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-08-18T20:13:07.833591" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.834542" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.834193" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.834618" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.834811" 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-08-18T20:13:07.831458" elapsed="0.003378"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.834990" 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-08-18T20:13:07.789970" elapsed="0.045466"/>
</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-08-18T20:13:07.749485" elapsed="0.086005"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:07.742726" elapsed="0.092873"/>
</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-08-18T20:13:07.846329" 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-08-18T20:13:07.846463" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.846194" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:07.847075" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9d00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:07.846640" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.847525" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:07.847251" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.847984" 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-08-18T20:13:07.847698" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.848422" 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-08-18T20:13:07.848157" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.849330" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.848594" elapsed="0.000767"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.849849" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.849513" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.850400" 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-08-18T20:13:07.850080" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.850929" 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-08-18T20:13:07.850590" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.851426" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.851118" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.851945" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.851616" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.852471" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9d00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.852137" 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-08-18T20:13:07.845872" elapsed="0.006702"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.853120" 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-08-18T20:13:07.852720" elapsed="0.000430"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.853535" 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-08-18T20:13:07.853299" 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-08-18T20:13:07.861343" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.861047" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.865735" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.865873" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:07.865968" 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-08-18T20:13:07.861496" elapsed="0.004497"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.866399" 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-08-18T20:13:07.866150" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.868525" 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-08-18T20:13:07.866583" elapsed="0.001996"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:07.870393" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:07.868648" elapsed="0.001866"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.868628" 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-08-18T20:13:07.870678" 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-08-18T20:13:07.870912" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.870783" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:07.870766" elapsed="0.000219"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.871017" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:07.872603" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:07.872647" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:07.860700" elapsed="0.011969"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.874781" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.873222" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.873205" elapsed="0.001652"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.875387" 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-08-18T20:13:07.874998" elapsed="0.000416"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.875932" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.875572" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.876007" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:07.876183" 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-08-18T20:13:07.872899" elapsed="0.003309"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.876361" 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-08-18T20:13:07.860156" elapsed="0.016686"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.884451" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.884161" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.895509" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.896242" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:07.896522" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:07.884603" elapsed="0.011945"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.896986" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:07.896718" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.901625" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:07.897169" elapsed="0.005235"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.904221" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.902476" elapsed="0.001794"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.902457" elapsed="0.001835"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.923878" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:07.923925" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:07.904429" elapsed="0.019519"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:07.925721" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.924025" elapsed="0.001766"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.924007" elapsed="0.001808"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:07.925850" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:07.926045" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:07.926088" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:07.883791" elapsed="0.042319"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.928219" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.926648" elapsed="0.001615"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.926630" elapsed="0.001655"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.928872" 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-08-18T20:13:07.928428" elapsed="0.000472"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.929406" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.929058" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.929482" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.929658" 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-08-18T20:13:07.926321" elapsed="0.003362"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.929852" 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-08-18T20:13:07.883178" elapsed="0.047121"/>
</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-08-18T20:13:07.842642" elapsed="0.087712"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:07.835903" elapsed="0.094563"/>
</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-08-18T20:13:07.941527" 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-08-18T20:13:07.941661" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.941389" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:07.942232" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eb2e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:07.941851" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.942677" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:07.942406" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.943134" 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-08-18T20:13:07.942866" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:07.943569" 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-08-18T20:13:07.943305" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:07.944287" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.943739" elapsed="0.000578"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.944834" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.944493" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.945388" 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-08-18T20:13:07.945070" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.945939" 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-08-18T20:13:07.945577" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.946441" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:07.946132" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.946963" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:07.946632" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.947467" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eb2e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:07.947155" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:07.941065" elapsed="0.006497"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.948096" 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-08-18T20:13:07.947705" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.948519" 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-08-18T20:13:07.948273" 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-08-18T20:13:07.956199" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.955903" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.962660" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.962810" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:07.962912" 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-08-18T20:13:07.956352" elapsed="0.006585"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.963342" 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-08-18T20:13:07.963093" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.966321" 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-08-18T20:13:07.963525" 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-08-18T20:13:07.968973" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-08-18T20:13:07.966492" elapsed="0.002574"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.966466" elapsed="0.002634"/>
</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-08-18T20:13:07.969293" 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-08-18T20:13:07.969603" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:07.969420" elapsed="0.000299"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:07.969397" elapsed="0.000377"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.969823" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:07.972088" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:07.972150" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:07.955580" elapsed="0.016601"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:07.974954" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:07.973008" elapsed="0.001991"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:07.972983" elapsed="0.002038"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.975558" 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-08-18T20:13:07.975164" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.976150" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:07.975800" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:07.976225" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:07.976413" 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-08-18T20:13:07.972513" elapsed="0.003925"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:07.976597" 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-08-18T20:13:07.955038" elapsed="0.022018"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.984756" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:07.984447" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:07.995699" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:07.997531" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:07.998214" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:07.984911" elapsed="0.013362"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:07.999224" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:07.998621" elapsed="0.000702"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.005208" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:07.999635" elapsed="0.006350"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.007777" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.006057" elapsed="0.001770"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.006038" elapsed="0.001810"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.028528" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:08.028575" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:08.007984" elapsed="0.020615"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.030431" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.028676" elapsed="0.001812"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.028658" elapsed="0.001854"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:08.030546" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.030738" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:08.030798" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:07.984057" elapsed="0.046763"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.032945" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.031360" elapsed="0.001630"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.031342" elapsed="0.001670"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.033564" 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-08-18T20:13:08.033165" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.034168" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.033800" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.034245" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.034423" 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-08-18T20:13:08.031033" elapsed="0.003415"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.034604" 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-08-18T20:13:07.983444" elapsed="0.051622"/>
</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-08-18T20:13:07.937893" elapsed="0.097228"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:07.930713" elapsed="0.104519"/>
</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-08-18T20:13:08.046204" 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-08-18T20:13:08.046340" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:08.046068" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:08.046942" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7380&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:08.046516" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.047393" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:08.047118" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.047849" 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-08-18T20:13:08.047567" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.048314" 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-08-18T20:13:08.048021" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.049230" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:08.048487" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.049739" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.049415" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.050315" 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-08-18T20:13:08.049988" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.050855" 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-08-18T20:13:08.050517" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.051362" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:08.051052" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.051884" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:08.051556" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.052420" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7380&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.052078" 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-08-18T20:13:08.045728" elapsed="0.006798"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.053331" 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-08-18T20:13:08.052796" elapsed="0.000577"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.053938" 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-08-18T20:13:08.053582" elapsed="0.000445"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.062622" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.062322" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.067575" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.067708" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:08.067822" 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-08-18T20:13:08.062791" elapsed="0.005056"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.068288" 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-08-18T20:13:08.068008" elapsed="0.000325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.070423" 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-08-18T20:13:08.068474" elapsed="0.001999"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:08.072316" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-08-18T20:13:08.070547" elapsed="0.001840"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.070524" 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-08-18T20:13:08.072553" 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-08-18T20:13:08.072789" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.072643" elapsed="0.000199"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:08.072627" elapsed="0.000237"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.072896" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:08.074493" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:08.074537" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:08.062010" elapsed="0.012549"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.076861" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.075112" elapsed="0.001815"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.075094" elapsed="0.001864"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.077709" 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-08-18T20:13:08.077161" elapsed="0.000609"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.078481" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.077998" elapsed="0.000520"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.078585" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:08.078856" 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-08-18T20:13:08.074783" elapsed="0.004109"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.079108" elapsed="0.000530"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:08.061435" elapsed="0.018288"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.090051" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.089756" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.100668" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.101701" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:08.102113" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:08.090204" elapsed="0.011947"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.102728" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:08.102375" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.106891" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:08.103012" elapsed="0.004981"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.110593" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.108099" elapsed="0.002566"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.108071" elapsed="0.002626"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.134879" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:08.134926" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:08.110921" elapsed="0.024029"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.136785" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.135029" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.135010" elapsed="0.001856"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:08.136900" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.137095" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:08.137139" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:08.089373" elapsed="0.047788"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.139276" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.137702" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.137684" elapsed="0.001659"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.139913" 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-08-18T20:13:08.139486" elapsed="0.000455"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.140447" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.140100" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.140522" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.140700" 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-08-18T20:13:08.137373" elapsed="0.003353"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.140927" 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-08-18T20:13:08.088765" elapsed="0.052607"/>
</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-08-18T20:13:08.042523" elapsed="0.098907"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:08.035520" elapsed="0.106021"/>
</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-08-18T20:13:08.152285" 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-08-18T20:13:08.152423" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:08.152148" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:08.153006" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639a020&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:08.152599" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.153451" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:08.153180" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.153913" 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-08-18T20:13:08.153633" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.154348" 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-08-18T20:13:08.154083" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.155146" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:08.154518" elapsed="0.000658"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.155651" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.155329" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.156253" 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-08-18T20:13:08.155927" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.156787" 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-08-18T20:13:08.156444" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.157283" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:08.156976" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.157801" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:08.157474" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.158307" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639a020&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.157994" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:08.151814" elapsed="0.006590"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.158941" 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-08-18T20:13:08.158550" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.159356" 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-08-18T20:13:08.159120" elapsed="0.000293"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.167148" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.166848" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.173669" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.173817" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:08.173915" 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-08-18T20:13:08.167313" elapsed="0.006627"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.174352" 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-08-18T20:13:08.174106" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.176487" 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-08-18T20:13:08.174536" elapsed="0.002002"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:08.178320" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:08.176608" elapsed="0.001780"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.176588" elapsed="0.001824"/>
</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-08-18T20:13:08.178556" 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-08-18T20:13:08.178828" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.178680" elapsed="0.000201"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:08.178662" elapsed="0.000242"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.178936" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:08.180612" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:08.180688" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:08.166524" elapsed="0.014203"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.183713" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.181534" elapsed="0.002273"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.181508" elapsed="0.002331"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.184585" 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-08-18T20:13:08.184038" elapsed="0.000584"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.185356" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.184864" elapsed="0.000529"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.185462" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:13:08.185714" 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-08-18T20:13:08.181074" elapsed="0.004695"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.185984" elapsed="0.000594"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:08.165976" elapsed="0.020691"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.196067" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.195763" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.206287" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.207313" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:08.207725" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:08.196219" elapsed="0.011569"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.208360" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:08.208012" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.212452" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:08.208626" elapsed="0.004902"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.216087" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.213630" elapsed="0.002527"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.213603" elapsed="0.002585"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.235507" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:08.235559" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:08.216379" elapsed="0.019203"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.237433" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.235670" elapsed="0.001820"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.235651" elapsed="0.001864"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:08.237549" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.237760" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:08.237806" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:08.195370" elapsed="0.042459"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.239966" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.238372" elapsed="0.001639"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.238354" elapsed="0.001679"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.240577" 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-08-18T20:13:08.240177" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.241129" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.240778" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.241206" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.241384" 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-08-18T20:13:08.238042" elapsed="0.003367"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.241562" 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-08-18T20:13:08.194769" elapsed="0.047263"/>
</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-08-18T20:13:08.148616" elapsed="0.093474"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:08.141808" elapsed="0.100394"/>
</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-08-18T20:13:08.252859" 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-08-18T20:13:08.252992" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:08.252706" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:08.253559" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858397b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:08.253169" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.254025" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:08.253736" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.254461" 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-08-18T20:13:08.254198" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.254920" 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-08-18T20:13:08.254632" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.255693" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:08.255091" elapsed="0.000632"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.256212" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.255890" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.256773" 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-08-18T20:13:08.256440" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.257288" 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-08-18T20:13:08.256966" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.257803" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:08.257475" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.258308" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:08.257996" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.258825" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858397b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.258498" 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-08-18T20:13:08.252384" elapsed="0.006538"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.259438" 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-08-18T20:13:08.259066" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.259885" 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-08-18T20:13:08.259630" 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-08-18T20:13:08.267644" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.267334" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.272614" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.272811" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:08.272954" 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-08-18T20:13:08.267812" elapsed="0.005177"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.273560" 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-08-18T20:13:08.273209" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.276550" 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-08-18T20:13:08.273838" elapsed="0.002782"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:08.279127" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:13:08.276717" elapsed="0.002503"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.276691" elapsed="0.002563"/>
</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-08-18T20:13:08.279447" 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-08-18T20:13:08.279914" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.279705" elapsed="0.000284"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:08.279679" elapsed="0.000343"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.280067" elapsed="0.000021"/>
</return>
<msg time="2026-08-18T20:13:08.282294" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:08.282357" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:08.267027" elapsed="0.015362"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.285132" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.283154" elapsed="0.002023"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.283128" elapsed="0.002071"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.285735" 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-08-18T20:13:08.285341" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.286308" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.285935" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.286384" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.286560" 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-08-18T20:13:08.282677" elapsed="0.003908"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.286741" 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-08-18T20:13:08.266468" elapsed="0.020730"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.294887" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.294577" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.304981" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.306620" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:08.307266" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:08.295038" elapsed="0.012288"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.308328" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:08.307716" elapsed="0.000715"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.317585" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:08.308776" elapsed="0.009582"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.320163" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.318432" elapsed="0.001780"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.318412" elapsed="0.001822"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.338907" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:08.338953" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:08.320370" elapsed="0.018606"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.340853" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.339054" elapsed="0.001861"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.339036" elapsed="0.001903"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:08.340973" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.341167" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:08.341210" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:08.294209" elapsed="0.047023"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.343346" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.341784" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.341765" elapsed="0.001650"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.343970" 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-08-18T20:13:08.343559" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.344500" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.344153" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.344574" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.344780" 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-08-18T20:13:08.341442" elapsed="0.003365"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.344960" 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-08-18T20:13:08.293590" elapsed="0.051823"/>
</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-08-18T20:13:08.249196" elapsed="0.096273"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:08.242453" elapsed="0.103129"/>
</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-08-18T20:13:08.356325" 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-08-18T20:13:08.356459" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:08.356190" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:08.357046" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:08.356638" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.357500" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:08.357224" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.357963" 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-08-18T20:13:08.357677" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.358404" 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-08-18T20:13:08.358138" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.359197" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:08.358578" elapsed="0.000650"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.359738" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.359404" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.360310" 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-08-18T20:13:08.359986" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.360846" 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-08-18T20:13:08.360503" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.361351" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:08.361039" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.361881" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:08.361549" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.362391" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.362075" 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-08-18T20:13:08.355863" elapsed="0.006625"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.363031" 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-08-18T20:13:08.362634" elapsed="0.000427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.363476" 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-08-18T20:13:08.363210" 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-08-18T20:13:08.371309" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.370995" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.376462" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.376729" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:08.376993" 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-08-18T20:13:08.371467" elapsed="0.005583"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.378004" 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-08-18T20:13:08.377407" elapsed="0.000697"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.382842" 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-08-18T20:13:08.378418" elapsed="0.004539"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:08.387017" elapsed="0.000067"/>
</return>
<status status="PASS" start="2026-08-18T20:13:08.383111" elapsed="0.004059"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.383069" elapsed="0.004206"/>
</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-08-18T20:13:08.387580" 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-08-18T20:13:08.387880" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.387724" elapsed="0.000208"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:08.387707" elapsed="0.000248"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.387988" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:08.389584" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:08.389629" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:08.370666" elapsed="0.018986"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.391814" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.390210" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.390193" elapsed="0.001689"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.392425" 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-08-18T20:13:08.392025" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.392975" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.392610" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.393052" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.393231" 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-08-18T20:13:08.389880" elapsed="0.003376"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.393411" 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-08-18T20:13:08.370114" elapsed="0.023768"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.401595" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.401295" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.412974" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.414011" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:08.414403" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:08.401764" elapsed="0.012677"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.415043" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:08.414664" elapsed="0.000444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.419247" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:08.415325" elapsed="0.005058"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.422937" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.420501" elapsed="0.002507"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.420469" elapsed="0.002571"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.446632" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:08.446680" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:08.423248" elapsed="0.023456"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.448560" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.446798" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.446779" elapsed="0.001862"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:08.448675" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.448888" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:08.448932" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:08.400922" elapsed="0.048034"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.451113" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.449512" elapsed="0.001647"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.449494" elapsed="0.001688"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.451734" 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-08-18T20:13:08.451329" elapsed="0.000448"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.452289" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.451939" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.452365" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.452544" 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-08-18T20:13:08.449175" elapsed="0.003395"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.452726" 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-08-18T20:13:08.400297" elapsed="0.052897"/>
</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-08-18T20:13:08.352626" elapsed="0.100626"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:08.345842" elapsed="0.107524"/>
</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-08-18T20:13:08.464276" 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-08-18T20:13:08.464417" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:08.464137" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:08.465013" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913880&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:08.464595" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.465471" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:08.465192" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.465935" 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-08-18T20:13:08.465649" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.466377" 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-08-18T20:13:08.466110" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.467267" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:08.466550" elapsed="0.000749"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.467817" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.467457" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.468383" 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-08-18T20:13:08.468058" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.468920" 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-08-18T20:13:08.468577" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.469423" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:08.469112" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.469950" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:08.469616" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.470462" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913880&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.470145" 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-08-18T20:13:08.463812" elapsed="0.006747"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.471119" 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-08-18T20:13:08.470705" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.471539" 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-08-18T20:13:08.471299" 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-08-18T20:13:08.479423" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.479123" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.483865" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.483998" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:08.484095" 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-08-18T20:13:08.479578" elapsed="0.004542"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.484524" 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-08-18T20:13:08.484278" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.486639" 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-08-18T20:13:08.484707" elapsed="0.001983"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:08.488483" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:08.486773" elapsed="0.001782"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.486740" elapsed="0.001839"/>
</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-08-18T20:13:08.488717" elapsed="0.000067"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.488993" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.488859" elapsed="0.000185"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:08.488842" elapsed="0.000225"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.489099" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:08.490691" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:08.490735" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:08.478786" elapsed="0.011985"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.493441" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.491331" elapsed="0.002171"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.491313" elapsed="0.002221"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.494296" 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-08-18T20:13:08.493731" elapsed="0.000602"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.495066" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.494551" elapsed="0.000551"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.495170" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:08.495416" 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-08-18T20:13:08.491004" elapsed="0.004447"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.495664" elapsed="0.000641"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:08.478214" elapsed="0.018182"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.506268" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.505971" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.516478" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.517538" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:08.517978" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:08.506424" elapsed="0.011592"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.518588" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:08.518239" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.522661" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:08.518883" elapsed="0.004894"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.526275" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.523880" elapsed="0.002463"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.523853" elapsed="0.002521"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.546873" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:08.546921" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:08.526561" elapsed="0.020384"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.548781" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.547025" elapsed="0.001814"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.547006" elapsed="0.001857"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:08.548897" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.549093" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:08.549137" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:08.505567" elapsed="0.043593"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.551306" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.549699" elapsed="0.001652"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.549681" elapsed="0.001692"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.551936" 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-08-18T20:13:08.551518" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.552475" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.552124" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.552550" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.552729" 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-08-18T20:13:08.549372" elapsed="0.003397"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.552926" 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-08-18T20:13:08.504956" elapsed="0.048418"/>
</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-08-18T20:13:08.460627" elapsed="0.092805"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:08.453674" elapsed="0.099869"/>
</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-08-18T20:13:08.564427" 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-08-18T20:13:08.564561" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:08.564289" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:08.565146" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd580&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:08.564738" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.565596" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:08.565322" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.566053" 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-08-18T20:13:08.565785" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.566488" 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-08-18T20:13:08.566223" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.567293" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:08.566658" elapsed="0.000668"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.567841" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.567481" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.568399" 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-08-18T20:13:08.568078" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.568927" 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-08-18T20:13:08.568590" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.569419" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:08.569114" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.569938" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:08.569610" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.570442" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd580&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.570129" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:08.563965" elapsed="0.006573"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.571093" 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-08-18T20:13:08.570684" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.571504" 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-08-18T20:13:08.571269" elapsed="0.000292"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.579291" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.578990" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.584669" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.584832" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:08.584936" 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-08-18T20:13:08.579447" elapsed="0.005515"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.585366" 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-08-18T20:13:08.585118" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.588336" 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-08-18T20:13:08.585572" elapsed="0.002834"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:08.590904" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:13:08.588503" elapsed="0.002494"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.588477" 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-08-18T20:13:08.591219" 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-08-18T20:13:08.591532" elapsed="0.000085"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.591344" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:08.591322" elapsed="0.000394"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.591785" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:08.594005" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:08.594067" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:08.578651" elapsed="0.015448"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.596620" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.594891" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.594866" elapsed="0.001821"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.597233" 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-08-18T20:13:08.596842" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.597772" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.597416" elapsed="0.000382"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.597847" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.598023" 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-08-18T20:13:08.594385" elapsed="0.003662"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.598199" 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-08-18T20:13:08.578105" elapsed="0.020550"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.606299" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.606005" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.618142" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.619856" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle-ti... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:08.620483" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:08.606451" elapsed="0.014090"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.621481" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:08.620924" elapsed="0.000658"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.627772" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;8&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;454000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;960000000&lt;/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;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;461000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;953000000&lt;/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;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;457000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;961000000&lt;/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;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;471000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;967000000&lt;/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;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;456000000&lt;/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;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;472000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;969000000&lt;/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;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;477000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;978000000&lt;/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;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;473000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;481000000&lt;/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;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;473000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;2&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;444000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;983000000&lt;/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;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;486000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;981000000&lt;/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;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;481000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;986000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;435000000&lt;/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;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;487000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;485000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;1&lt;/second&gt;&lt;nanosecond&gt;939000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;437000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;0&lt;/second&gt;&lt;nanosecond&gt;937000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;435000000&lt;/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;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;491000000&lt;/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;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;450000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;992000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;3&lt;/second&gt;&lt;nanosecond&gt;943000000&lt;/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;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;491000000&lt;/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;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;29000000&lt;/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;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;445000000&lt;/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;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;5&lt;/second&gt;&lt;nanosecond&gt;947000000&lt;/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;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;443000000&lt;/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;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;4&lt;/second&gt;&lt;nanosecond&gt;945000000&lt;/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;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;448000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;948000000&lt;/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;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;445000000&lt;/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;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;6&lt;/second&gt;&lt;nanosecond&gt;951000000&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-08-18T20:13:08.621920" elapsed="0.006614"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.630333" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.628605" elapsed="0.001777"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.628586" elapsed="0.001818"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.649069" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:08.649116" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:08.630545" elapsed="0.018594"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.651034" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.649219" elapsed="0.001872"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.649200" elapsed="0.001915"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:08.651149" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.651345" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:08.651389" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:08.605621" elapsed="0.045790"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.653521" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.651967" elapsed="0.001599"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.651949" elapsed="0.001638"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.654146" 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-08-18T20:13:08.653731" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.654699" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.654333" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.654790" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.654971" 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-08-18T20:13:08.651623" elapsed="0.003373"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.655149" 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-08-18T20:13:08.605019" elapsed="0.050576"/>
</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-08-18T20:13:08.560762" elapsed="0.094890"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:08.553854" elapsed="0.101924"/>
</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-08-18T20:13:08.666725" 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-08-18T20:13:08.666877" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:08.666586" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:08.667469" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37060&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:08.667060" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.667942" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:08.667644" elapsed="0.000325"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.668381" 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-08-18T20:13:08.668115" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.668835" 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-08-18T20:13:08.668551" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.669714" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:08.669015" elapsed="0.000744"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.670237" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.669914" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.670814" 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-08-18T20:13:08.670475" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.671329" 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-08-18T20:13:08.671006" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.671842" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:08.671518" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.672348" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:08.672035" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.673018" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a37060&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.672540" elapsed="0.000521"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:08.666238" elapsed="0.006878"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.673641" 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-08-18T20:13:08.673262" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.674071" 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-08-18T20:13:08.673833" 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-08-18T20:13:08.681625" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.681331" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.686868" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.686993" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:08.687090" 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-08-18T20:13:08.681792" elapsed="0.005324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.687522" 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-08-18T20:13:08.687274" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.689641" 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-08-18T20:13:08.687705" elapsed="0.001986"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:08.691537" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:08.689809" elapsed="0.001796"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.689789" elapsed="0.001841"/>
</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-08-18T20:13:08.691785" 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-08-18T20:13:08.692011" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.691878" elapsed="0.000185"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:08.691861" elapsed="0.000226"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.692120" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:08.693706" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:08.693764" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:08.681023" elapsed="0.012765"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.695895" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.694323" elapsed="0.001618"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.694306" elapsed="0.001657"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.696497" 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-08-18T20:13:08.696105" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.697051" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.696687" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.697127" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.697303" 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-08-18T20:13:08.693998" elapsed="0.003331"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.697482" 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-08-18T20:13:08.680468" elapsed="0.017471"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.705573" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.705279" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.716777" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.717500" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:08.717796" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:08.705726" elapsed="0.012103"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.720043" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:08.717988" elapsed="0.002103"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.722804" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:08.720234" elapsed="0.003331"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.725365" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.723638" elapsed="0.001777"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.723618" elapsed="0.001819"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.743933" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:08.743980" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:08.725573" elapsed="0.018430"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.745839" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.744081" elapsed="0.001815"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.744062" elapsed="0.001858"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:08.745954" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.746151" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:08.746195" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:08.704908" elapsed="0.041310"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.748355" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.746797" elapsed="0.001604"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.746779" elapsed="0.001644"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.748984" 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-08-18T20:13:08.748568" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.749519" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.749171" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.749595" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.749790" 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-08-18T20:13:08.746454" elapsed="0.003363"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.749972" 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-08-18T20:13:08.704292" elapsed="0.046153"/>
</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-08-18T20:13:08.663067" elapsed="0.087435"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:08.656057" elapsed="0.094558"/>
</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-08-18T20:13:08.761260" 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-08-18T20:13:08.761396" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:08.761124" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:08.762014" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd8f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:08.761572" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.762482" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:08.762205" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.762938" 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-08-18T20:13:08.762655" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.763374" 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-08-18T20:13:08.763109" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.764306" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:08.763544" elapsed="0.000793"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.764829" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.764490" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.765381" 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-08-18T20:13:08.765062" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.765923" 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-08-18T20:13:08.765571" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.766436" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:08.766113" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.766960" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:08.766628" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.767617" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd8f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.767152" elapsed="0.000508"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:08.760802" elapsed="0.006913"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.768260" 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-08-18T20:13:08.767882" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.768671" 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-08-18T20:13:08.768436" 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-08-18T20:13:08.776254" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.775958" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.781133" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.781255" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:08.781352" 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-08-18T20:13:08.776405" elapsed="0.004972"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.781802" 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-08-18T20:13:08.781533" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.783939" 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-08-18T20:13:08.781988" elapsed="0.002001"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:08.785835" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:08.784091" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.784072" elapsed="0.001854"/>
</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-08-18T20:13:08.786063" 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-08-18T20:13:08.786314" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.786178" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:08.786161" elapsed="0.000226"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.786419" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:08.788021" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:08.788065" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:08.775633" elapsed="0.012454"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.790189" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.788619" elapsed="0.001615"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.788601" elapsed="0.001655"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.790809" 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-08-18T20:13:08.790398" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.791340" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.790995" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.791415" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.791591" 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-08-18T20:13:08.788294" elapsed="0.003321"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.791783" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:08.775084" elapsed="0.017140"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.799921" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.799612" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.811688" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.812419" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:08.812704" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:08.800074" elapsed="0.012656"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.813161" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:08.812911" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.816077" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:08.813345" elapsed="0.003503"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.818663" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.816921" elapsed="0.001791"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.816902" elapsed="0.001833"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.839188" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:08.839235" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:08.818892" elapsed="0.020365"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.841074" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.839334" elapsed="0.001796"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.839316" elapsed="0.001838"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:08.841187" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:08.841379" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:08.841421" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:08.799245" elapsed="0.042198"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.843552" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.842013" elapsed="0.001584"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.841993" elapsed="0.001625"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.844174" 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-08-18T20:13:08.843776" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.844705" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.844358" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.844795" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:08.844972" 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-08-18T20:13:08.841653" elapsed="0.003344"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.845148" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:08.798630" elapsed="0.046959"/>
</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-08-18T20:13:08.757593" elapsed="0.088052"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:08.750874" elapsed="0.094893"/>
</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-08-18T20:13:08.856414" 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-08-18T20:13:08.856545" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:08.856279" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:08.857151" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd990&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:08.856720" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.857599" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:08.857326" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.858068" 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-08-18T20:13:08.857788" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.858503" 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-08-18T20:13:08.858240" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.859410" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:08.858673" elapsed="0.000767"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.859931" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.859593" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.860479" 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-08-18T20:13:08.860160" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.861009" 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-08-18T20:13:08.860669" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.861504" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:08.861199" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.862035" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:08.861695" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.862543" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd990&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.862228" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:08.855958" elapsed="0.006680"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.863180" 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-08-18T20:13:08.862802" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.863592" 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-08-18T20:13:08.863357" 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-08-18T20:13:08.871370" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.871074" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.876672" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.876812" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:08.876916" 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-08-18T20:13:08.871523" elapsed="0.005418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.877346" 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-08-18T20:13:08.877098" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.879471" 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-08-18T20:13:08.877532" elapsed="0.001991"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:08.881346" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:08.879627" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.879607" elapsed="0.001831"/>
</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-08-18T20:13:08.881576" 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-08-18T20:13:08.881815" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.881667" elapsed="0.000211"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:08.881651" elapsed="0.000251"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.881934" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:08.883520" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:08.883565" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:08.870760" elapsed="0.012828"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.885688" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.884140" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.884122" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.886330" 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-08-18T20:13:08.885934" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.886878" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.886514" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.886954" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.887132" 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-08-18T20:13:08.883812" elapsed="0.003345"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:08.887310" 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-08-18T20:13:08.870191" elapsed="0.017578"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.896309" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:08.895999" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:08.905399" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:08.906157" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:08.906472" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:08.896469" elapsed="0.010029"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.906923" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:08.906655" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.909885" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:08.907107" elapsed="0.003586"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.912563" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.910783" elapsed="0.001830"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.910762" elapsed="0.001873"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.932429" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:08.932476" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:08.912788" elapsed="0.019712"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:08.978330" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:08.932580" elapsed="0.045832"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.932561" elapsed="0.045880"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:08.978484" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:08.978729" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:08.978792" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:08.895606" elapsed="0.083210"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:08.981003" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:08.979427" elapsed="0.001622"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:08.979408" elapsed="0.001663"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.981696" 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-08-18T20:13:08.981221" elapsed="0.000503"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.982244" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:08.981897" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:08.982319" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:08.982495" 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-08-18T20:13:08.979069" 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-08-18T20:13:08.982673" 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-08-18T20:13:08.894906" elapsed="0.088250"/>
</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-08-18T20:13:08.852757" elapsed="0.130456"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:08.846017" elapsed="0.137315"/>
</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-08-18T20:13:08.994205" 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-08-18T20:13:08.994401" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:08.994061" elapsed="0.000369"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:08.995022" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2f70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:08.994579" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.995473" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:08.995197" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.995925" 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-08-18T20:13:08.995645" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:08.996363" 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-08-18T20:13:08.996097" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:08.997281" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:08.996536" elapsed="0.000776"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.997821" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:08.997466" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.998558" 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-08-18T20:13:08.998086" elapsed="0.000515"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.999092" 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-08-18T20:13:08.998766" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:08.999591" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:08.999281" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.000113" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:08.999798" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.000619" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2f70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.000305" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:08.993721" elapsed="0.006995"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.001252" 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-08-18T20:13:09.000876" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.001677" 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-08-18T20:13:09.001428" 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-08-18T20:13:09.009257" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.008953" elapsed="0.000331"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.013891" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.014044" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:09.014141" 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-08-18T20:13:09.009411" elapsed="0.004755"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.014571" 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-08-18T20:13:09.014324" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.016680" 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-08-18T20:13:09.014767" elapsed="0.001963"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:09.018618" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:13:09.016856" elapsed="0.001856"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.016835" elapsed="0.001930"/>
</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-08-18T20:13:09.018969" 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-08-18T20:13:09.019279" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.019096" elapsed="0.000255"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:09.019073" elapsed="0.000309"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.019428" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:09.021667" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:09.021731" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:09.008625" elapsed="0.013156"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.024699" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.022526" elapsed="0.002256"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.022502" elapsed="0.002312"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.025580" 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-08-18T20:13:09.025012" elapsed="0.000606"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.026346" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.025858" elapsed="0.000524"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.026452" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:09.026699" 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-08-18T20:13:09.022073" elapsed="0.004661"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.026971" elapsed="0.000531"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:09.008074" elapsed="0.019515"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.036049" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.035739" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.045708" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.046620" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:09.046937" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:09.036202" elapsed="0.010762"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.047373" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:09.047122" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.050133" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:09.047563" elapsed="0.003496"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.053637" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.051159" elapsed="0.002547"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.051132" elapsed="0.002606"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.075020" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:09.075068" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:09.053948" elapsed="0.021144"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:09.076926" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.075171" elapsed="0.001812"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.075152" elapsed="0.001856"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:09.077043" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:09.077240" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:09.077285" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:09.035369" elapsed="0.041940"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.079488" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.077891" elapsed="0.001643"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.077873" elapsed="0.001684"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.080122" 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-08-18T20:13:09.079703" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.080660" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.080312" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.080736" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:13:09.080930" 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-08-18T20:13:09.077538" elapsed="0.003418"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.081111" 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-08-18T20:13:09.034766" elapsed="0.046805"/>
</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-08-18T20:13:08.990516" elapsed="0.091112"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:08.983736" elapsed="0.098018"/>
</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-08-18T20:13:09.092677" 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-08-18T20:13:09.092829" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.092540" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:09.093440" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe610&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:09.093011" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.093908" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:09.093618" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.094349" 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-08-18T20:13:09.094084" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.094802" 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-08-18T20:13:09.094521" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.095681" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.094975" elapsed="0.000737"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.096208" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.095884" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.096777" 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-08-18T20:13:09.096441" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.097313" 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-08-18T20:13:09.096970" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.097834" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.097505" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.098502" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.098029" elapsed="0.000519"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.099036" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe610&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.098700" 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-08-18T20:13:09.092217" elapsed="0.006917"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.099661" 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-08-18T20:13:09.099283" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.100095" 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-08-18T20:13:09.099855" 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-08-18T20:13:09.107891" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.107570" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.112507" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.112632" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:09.112730" 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-08-18T20:13:09.108048" elapsed="0.004729"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.113190" 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-08-18T20:13:09.112938" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.115329" 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-08-18T20:13:09.113394" elapsed="0.001986"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:09.117207" elapsed="0.000039"/>
</return>
<status status="PASS" start="2026-08-18T20:13:09.115482" elapsed="0.001802"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.115462" elapsed="0.001848"/>
</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-08-18T20:13:09.117449" 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-08-18T20:13:09.117672" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.117540" elapsed="0.000184"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:09.117524" elapsed="0.000238"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.117796" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:09.119378" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:09.119423" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:09.107255" elapsed="0.012192"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.121602" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.120007" elapsed="0.001659"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.119989" elapsed="0.001708"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.122471" 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-08-18T20:13:09.121917" elapsed="0.000592"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.123236" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.122730" elapsed="0.000542"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.123342" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:09.123588" 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-08-18T20:13:09.119655" elapsed="0.003969"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.123859" elapsed="0.000536"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:09.106694" elapsed="0.017789"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.134698" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.134403" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.145807" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.147439" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:09.148113" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:09.134869" elapsed="0.013304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.149485" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:09.148528" elapsed="0.001063"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.154898" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:09.149945" elapsed="0.006023"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.158610" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.156068" elapsed="0.002611"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.156042" elapsed="0.002668"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.180525" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:09.180576" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:09.158918" elapsed="0.021682"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:09.182427" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.180678" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.180659" elapsed="0.001847"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:09.182540" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:09.182732" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:09.182791" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:09.134034" elapsed="0.048780"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.184904" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.183350" elapsed="0.001599"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.183333" elapsed="0.001637"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.185516" 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-08-18T20:13:09.185122" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.186087" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.185700" elapsed="0.000413"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.186163" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:09.186339" 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-08-18T20:13:09.183025" elapsed="0.003339"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.186516" 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-08-18T20:13:09.133358" elapsed="0.053617"/>
</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-08-18T20:13:09.088945" elapsed="0.098086"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:09.082011" elapsed="0.105129"/>
</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-08-18T20:13:09.197719" 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-08-18T20:13:09.197871" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.197583" elapsed="0.000317"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:09.198458" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0c20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:09.198049" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.198924" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:09.198632" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.199365" 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-08-18T20:13:09.199099" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.199822" 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-08-18T20:13:09.199535" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.200686" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.199994" elapsed="0.000723"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.201254" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.200882" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.201827" 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-08-18T20:13:09.201489" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.202340" 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-08-18T20:13:09.202018" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.202851" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.202527" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.203505" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.203043" elapsed="0.000507"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.204031" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0c20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.203698" 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-08-18T20:13:09.197261" elapsed="0.006867"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.204644" 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-08-18T20:13:09.204272" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.205084" 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-08-18T20:13:09.204834" 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-08-18T20:13:09.212673" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.212378" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.217509" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.217637" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:09.217733" 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-08-18T20:13:09.212841" elapsed="0.004936"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.218184" 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-08-18T20:13:09.217936" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.220343" 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-08-18T20:13:09.218369" 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-08-18T20:13:09.222271" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:09.220494" elapsed="0.001844"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.220475" 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-08-18T20:13:09.222501" 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-08-18T20:13:09.222723" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.222592" elapsed="0.000198"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:09.222576" elapsed="0.000237"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.222847" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:09.224481" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:09.224526" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:09.212070" elapsed="0.012479"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.227205" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.225119" elapsed="0.002150"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.225101" elapsed="0.002199"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.228067" 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-08-18T20:13:09.227498" elapsed="0.000607"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.228826" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.228325" elapsed="0.000537"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.228932" elapsed="0.000051"/>
</return>
<msg time="2026-08-18T20:13:09.229192" 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-08-18T20:13:09.224767" elapsed="0.004460"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.229440" 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-08-18T20:13:09.211501" elapsed="0.018589"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.240021" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.239713" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.250769" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.251782" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:09.252174" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:09.240174" elapsed="0.012036"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.252795" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:09.252427" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.256851" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:09.253072" elapsed="0.004891"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.260473" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.258063" elapsed="0.002478"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.258037" elapsed="0.002534"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.287429" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:09.287476" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:09.260777" elapsed="0.026721"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:09.289275" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.287575" elapsed="0.001756"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.287556" elapsed="0.001798"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:09.289388" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:09.289580" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:09.289623" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:09.239345" elapsed="0.050300"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.291797" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.290203" elapsed="0.001639"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.290184" elapsed="0.001680"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.292404" 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-08-18T20:13:09.292008" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.292975" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.292589" elapsed="0.000413"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.293051" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:09.293228" 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-08-18T20:13:09.289873" elapsed="0.003380"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.293405" 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-08-18T20:13:09.238733" elapsed="0.055134"/>
</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-08-18T20:13:09.194091" elapsed="0.099832"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:09.187394" elapsed="0.106638"/>
</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-08-18T20:13:09.304639" 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-08-18T20:13:09.304809" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.304503" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:09.305409" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583bf60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:09.304990" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.305874" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:09.305585" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.306312" 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-08-18T20:13:09.306047" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.306767" 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-08-18T20:13:09.306485" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.307684" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.306940" elapsed="0.000774"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.308221" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.307896" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.308820" 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-08-18T20:13:09.308450" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.309338" 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-08-18T20:13:09.309016" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.309851" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.309526" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.310361" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.310045" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.311041" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583bf60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.310553" elapsed="0.000531"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:09.304180" elapsed="0.006960"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.311668" 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-08-18T20:13:09.311287" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.312104" 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-08-18T20:13:09.311862" 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-08-18T20:13:09.319711" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.319409" elapsed="0.000328"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.324318" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.324439" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:09.324535" 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-08-18T20:13:09.320009" elapsed="0.004551"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.324995" 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-08-18T20:13:09.324716" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.327126" 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-08-18T20:13:09.325179" 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-08-18T20:13:09.329044" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:09.327281" elapsed="0.001829"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.327261" elapsed="0.001873"/>
</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-08-18T20:13:09.329272" 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-08-18T20:13:09.329494" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.329362" elapsed="0.000191"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:09.329346" elapsed="0.000246"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.329647" elapsed="0.000024"/>
</return>
<msg time="2026-08-18T20:13:09.331920" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:09.331982" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:09.319103" elapsed="0.012912"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.334978" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.332792" elapsed="0.002247"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.332765" elapsed="0.002305"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.335839" 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-08-18T20:13:09.335269" elapsed="0.000607"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.336577" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.336096" elapsed="0.000517"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.336681" elapsed="0.000054"/>
</return>
<msg time="2026-08-18T20:13:09.336966" 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-08-18T20:13:09.332302" elapsed="0.004698"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.337213" elapsed="0.000553"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:09.318542" elapsed="0.019316"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.346603" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.346310" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.357183" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.358416" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:09.359092" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:09.346771" elapsed="0.012380"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.360431" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:09.359500" elapsed="0.001035"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.366685" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:09.360917" elapsed="0.007507"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.370961" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.368584" elapsed="0.002426"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.368541" elapsed="0.002491"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.396674" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:09.396722" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:09.371168" elapsed="0.025590"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:09.398531" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.396839" elapsed="0.001748"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.396820" elapsed="0.001791"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:09.398646" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:09.398857" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:09.398901" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:09.345943" elapsed="0.052981"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.401046" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.399467" elapsed="0.001624"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.399449" elapsed="0.001664"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.401656" 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-08-18T20:13:09.401257" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.402208" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.401858" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.402285" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:09.402463" 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-08-18T20:13:09.399137" elapsed="0.003351"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.402642" 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-08-18T20:13:09.345329" elapsed="0.057777"/>
</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-08-18T20:13:09.300989" elapsed="0.102174"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:09.294275" elapsed="0.108997"/>
</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-08-18T20:13:09.413828" 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-08-18T20:13:09.413971" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.413678" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:09.414572" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea200&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:09.414151" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.415042" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:09.414764" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.415486" 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-08-18T20:13:09.415218" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.415946" 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-08-18T20:13:09.415659" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.416906" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.416120" elapsed="0.000818"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.417424" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.417094" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.418003" 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-08-18T20:13:09.417659" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.418518" 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-08-18T20:13:09.418196" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.419037" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.418709" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.419543" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.419231" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.420217" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea200&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.419735" elapsed="0.000525"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:09.413346" elapsed="0.006970"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.420869" 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-08-18T20:13:09.420462" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.421281" 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-08-18T20:13:09.421046" 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-08-18T20:13:09.428929" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.428618" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.433322" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.433442" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:09.433539" 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-08-18T20:13:09.429081" elapsed="0.004487"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.433997" 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-08-18T20:13:09.433725" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.436139" 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-08-18T20:13:09.434181" 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-08-18T20:13:09.438422" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:13:09.436291" elapsed="0.002224"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.436273" elapsed="0.002275"/>
</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-08-18T20:13:09.438761" 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-08-18T20:13:09.439073" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.438890" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:09.438867" elapsed="0.000309"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.439221" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:09.441468" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:09.441530" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:09.428290" elapsed="0.013272"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.444509" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.442325" elapsed="0.002251"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.442300" elapsed="0.002307"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.445369" 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-08-18T20:13:09.444824" elapsed="0.000581"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.446136" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.445628" elapsed="0.000544"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.446240" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:09.446485" 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-08-18T20:13:09.441870" elapsed="0.004650"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.446733" elapsed="0.000553"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:09.427734" elapsed="0.019641"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.455705" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.455412" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.467996" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.469655" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:09.470315" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:09.455873" elapsed="0.014502"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.471653" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:09.470725" elapsed="0.001062"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.477239" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:09.472113" elapsed="0.005896"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.479797" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.478081" elapsed="0.001765"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.478062" elapsed="0.001807"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.504481" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:09.504528" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:09.480005" elapsed="0.024546"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:09.506318" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.504630" elapsed="0.001744"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.504611" elapsed="0.001788"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:09.506433" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:09.506626" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:09.506671" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:09.455043" elapsed="0.051651"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.508843" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.507249" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.507231" elapsed="0.001689"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.509463" 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-08-18T20:13:09.509064" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.510017" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.509649" elapsed="0.000394"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.510093" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:09.510270" 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-08-18T20:13:09.506920" elapsed="0.003376"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.510450" 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-08-18T20:13:09.454424" elapsed="0.056487"/>
</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-08-18T20:13:09.410140" elapsed="0.100828"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:09.403445" elapsed="0.107633"/>
</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-08-18T20:13:09.521700" 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-08-18T20:13:09.521849" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.521564" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:09.522445" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987ced3f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:09.522027" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.522912" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:09.522624" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.523354" 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-08-18T20:13:09.523086" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.523808" 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-08-18T20:13:09.523525" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.524761" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.523979" elapsed="0.000815"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.525269" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.524947" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.525843" 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-08-18T20:13:09.525507" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.526357" 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-08-18T20:13:09.526036" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.526867" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.526545" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.527375" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.527061" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.528050" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987ced3f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.527567" 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-08-18T20:13:09.521243" elapsed="0.006906"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.528686" 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-08-18T20:13:09.528307" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.529121" 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-08-18T20:13:09.528882" 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-08-18T20:13:09.536808" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.536490" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.541446" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.541575" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:09.541672" 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-08-18T20:13:09.536961" elapsed="0.004736"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.542126" 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-08-18T20:13:09.541876" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.544250" 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-08-18T20:13:09.542310" elapsed="0.002027"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:09.546130" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:09.544409" elapsed="0.001787"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.544389" elapsed="0.001831"/>
</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-08-18T20:13:09.546358" 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-08-18T20:13:09.546580" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.546448" elapsed="0.000185"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:09.546432" elapsed="0.000224"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.546688" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:09.548301" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:09.548346" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:09.536156" elapsed="0.012212"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.551278" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.549106" elapsed="0.002234"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.549082" elapsed="0.002288"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.552137" 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-08-18T20:13:09.551568" elapsed="0.000619"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.552913" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.552408" elapsed="0.000541"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.553018" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:09.553264" 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-08-18T20:13:09.548597" elapsed="0.004702"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.553511" elapsed="0.000552"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:09.535598" elapsed="0.018559"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.563868" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.563546" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.576128" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.577153" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:09.577546" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:09.564023" elapsed="0.013560"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.578390" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:09.577829" elapsed="0.000626"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.582226" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:09.578654" elapsed="0.004655"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.585863" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.583411" elapsed="0.002522"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.583383" elapsed="0.002581"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.615704" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:09.615764" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:09.586156" elapsed="0.029633"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:09.617575" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.615867" elapsed="0.001765"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.615848" elapsed="0.001808"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:09.617690" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:09.617899" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:09.617942" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:09.563177" elapsed="0.054787"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.620091" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.618504" elapsed="0.001633"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.618486" elapsed="0.001675"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.620698" 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-08-18T20:13:09.620305" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.621249" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.620901" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.621324" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:09.621501" 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-08-18T20:13:09.618175" elapsed="0.003351"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.621679" 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-08-18T20:13:09.562559" elapsed="0.059581"/>
</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-08-18T20:13:09.518050" elapsed="0.104146"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:09.511248" elapsed="0.111057"/>
</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-08-18T20:13:09.633020" 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-08-18T20:13:09.633162" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.632884" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:09.633768" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9b20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:09.633340" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.634220" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:09.633945" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.634656" 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-08-18T20:13:09.634392" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.635108" 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-08-18T20:13:09.634842" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.635945" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.635278" elapsed="0.000711"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.636466" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.636144" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.637038" 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-08-18T20:13:09.636703" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.637549" 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-08-18T20:13:09.637229" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.638065" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.637737" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.638568" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.638255" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.639089" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9b20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.638772" 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-08-18T20:13:09.632544" elapsed="0.006642"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.639706" 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-08-18T20:13:09.639331" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.640153" 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-08-18T20:13:09.639901" 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-08-18T20:13:09.648029" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.647696" elapsed="0.000360"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.652676" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.652816" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:09.652915" 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-08-18T20:13:09.648182" elapsed="0.004758"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.653346" 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-08-18T20:13:09.653096" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.655473" 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-08-18T20:13:09.653530" elapsed="0.001994"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:09.657329" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:09.655593" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.655574" elapsed="0.001879"/>
</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-08-18T20:13:09.657597" 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-08-18T20:13:09.657836" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.657688" elapsed="0.000201"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:09.657672" elapsed="0.000241"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.657945" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:09.659531" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:09.659575" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:09.647381" elapsed="0.012216"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.662207" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.660168" elapsed="0.002102"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.660151" elapsed="0.002149"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.663065" 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-08-18T20:13:09.662497" elapsed="0.000605"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.663827" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.663323" elapsed="0.000540"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.663943" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:09.664190" 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-08-18T20:13:09.659818" elapsed="0.004407"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.664438" elapsed="0.000551"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:09.646832" elapsed="0.018246"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.674934" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.674622" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.685491" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.686512" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:09.686923" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:09.675089" elapsed="0.011872"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.687533" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:09.687183" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.691610" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:09.687814" elapsed="0.004890"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.695288" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.692824" elapsed="0.002534"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.692796" elapsed="0.002594"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.721996" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:09.722045" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:09.695582" elapsed="0.026487"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:09.723900" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.722149" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.722130" elapsed="0.001852"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:09.724017" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:09.724215" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:09.724285" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:09.674253" elapsed="0.050057"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.726510" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.724879" elapsed="0.001677"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.724860" elapsed="0.001719"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.727144" 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-08-18T20:13:09.726725" elapsed="0.000447"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.727687" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.727333" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.727788" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:09.727970" 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-08-18T20:13:09.724526" 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-08-18T20:13:09.728152" 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-08-18T20:13:09.673638" elapsed="0.054966"/>
</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-08-18T20:13:09.629336" elapsed="0.099327"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:09.622584" elapsed="0.106207"/>
</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-08-18T20:13:09.739687" 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-08-18T20:13:09.739860" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.739548" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:09.740458" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9d00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:09.740040" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.740926" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:09.740635" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.741369" 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-08-18T20:13:09.741103" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.741826" 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-08-18T20:13:09.741542" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.742755" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.742002" elapsed="0.000786"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.743276" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.742950" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.743882" 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-08-18T20:13:09.743518" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.744403" 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-08-18T20:13:09.744077" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.744922" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.744594" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.745434" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.745117" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.745962" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9d00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.745628" 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-08-18T20:13:09.739223" elapsed="0.006835"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.746581" 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-08-18T20:13:09.746206" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.747179" 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-08-18T20:13:09.746774" elapsed="0.000471"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.755045" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.754731" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.759765" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.759899" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:09.759996" 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-08-18T20:13:09.755200" elapsed="0.004821"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.760426" 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-08-18T20:13:09.760178" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.762551" 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-08-18T20:13:09.760610" elapsed="0.001991"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:09.764441" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:09.762708" elapsed="0.001799"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.762687" elapsed="0.001845"/>
</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-08-18T20:13:09.764674" 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-08-18T20:13:09.764913" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.764780" elapsed="0.000184"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:09.764762" elapsed="0.000225"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.765018" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:09.766602" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:09.766646" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:09.754414" elapsed="0.012254"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.768952" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.767215" elapsed="0.001799"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.767197" elapsed="0.001848"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.769814" 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-08-18T20:13:09.769244" elapsed="0.000608"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.770554" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.770073" elapsed="0.000516"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.770660" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:09.770934" 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-08-18T20:13:09.766889" 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-08-18T20:13:09.771183" 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-08-18T20:13:09.753867" elapsed="0.017972"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.782027" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.781718" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.793545" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.794564" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:09.794972" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:09.782179" elapsed="0.012830"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.795602" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:09.795229" elapsed="0.000440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.799782" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:09.795889" elapsed="0.004978"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.803371" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.800970" elapsed="0.002469"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.800942" elapsed="0.002528"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.830957" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:09.831003" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:09.803685" elapsed="0.027342"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:09.832802" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.831106" elapsed="0.001753"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.831087" elapsed="0.001796"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:09.832917" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:09.833111" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:09.833154" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:09.781351" elapsed="0.051825"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.835296" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.833713" elapsed="0.001627"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.833695" elapsed="0.001667"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.835952" 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-08-18T20:13:09.835527" elapsed="0.000452"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.836481" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.836136" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.836556" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:09.836731" 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-08-18T20:13:09.833387" elapsed="0.003384"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.836924" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:09.780732" elapsed="0.056634"/>
</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-08-18T20:13:09.735954" elapsed="0.101468"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:09.729039" elapsed="0.108492"/>
</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-08-18T20:13:09.848207" 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-08-18T20:13:09.848341" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.848070" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:09.848951" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986322ac0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:09.848519" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.849404" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:09.849128" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.849871" 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-08-18T20:13:09.849578" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.850308" 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-08-18T20:13:09.850043" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.851169" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.850477" elapsed="0.000723"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.851694" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.851351" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.852266" 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-08-18T20:13:09.851945" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.852794" 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-08-18T20:13:09.852456" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.853300" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.852993" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.853819" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.853491" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.854326" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986322ac0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.854012" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:09.847733" elapsed="0.006689"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.854960" 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-08-18T20:13:09.854565" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.855374" 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-08-18T20:13:09.855137" 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-08-18T20:13:09.863239" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.862942" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.867627" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.867766" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:09.867865" 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-08-18T20:13:09.863394" elapsed="0.004500"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.868299" 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-08-18T20:13:09.868051" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.870421" 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-08-18T20:13:09.868481" elapsed="0.001990"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:09.872274" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:09.870539" elapsed="0.001830"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.870521" elapsed="0.001876"/>
</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-08-18T20:13:09.872535" 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-08-18T20:13:09.872771" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.872626" elapsed="0.000199"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:09.872610" elapsed="0.000237"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.872879" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:09.874463" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:09.874508" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:09.862615" elapsed="0.011915"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.876721" elapsed="0.000048"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.875077" elapsed="0.001743"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.875059" elapsed="0.001792"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.877597" 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-08-18T20:13:09.877051" elapsed="0.000583"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.878357" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.877872" elapsed="0.000521"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.878461" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:09.878706" 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-08-18T20:13:09.874737" elapsed="0.004003"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.878976" elapsed="0.000540"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:09.862070" elapsed="0.017533"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.889590" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.889296" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.901417" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.902440" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:09.902850" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:09.889755" elapsed="0.013133"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.903479" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:09.903108" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.907569" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:09.903765" elapsed="0.004881"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.911176" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.908763" elapsed="0.002482"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.908720" elapsed="0.002555"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.937619" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:09.937664" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:09.911479" elapsed="0.026208"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:09.939471" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.937778" elapsed="0.001749"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.937759" elapsed="0.001793"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:09.939585" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:09.939799" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:09.939844" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:09.888926" elapsed="0.050944"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.941990" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.940407" elapsed="0.001629"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.940388" elapsed="0.001669"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.942595" 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-08-18T20:13:09.942200" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.943143" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.942795" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.943238" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:09.943417" 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-08-18T20:13:09.940081" elapsed="0.003361"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.943595" 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-08-18T20:13:09.888308" elapsed="0.055747"/>
</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-08-18T20:13:09.844525" elapsed="0.099587"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:09.837792" elapsed="0.106428"/>
</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-08-18T20:13:09.954847" 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-08-18T20:13:09.954982" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.954696" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:09.955593" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538be20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:09.955159" elapsed="0.000461"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.956059" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:09.955783" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.956496" 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-08-18T20:13:09.956232" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:09.956947" 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-08-18T20:13:09.956666" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:09.957821" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.957119" elapsed="0.000733"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.958327" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.958005" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.958896" 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-08-18T20:13:09.958561" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.959426" 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-08-18T20:13:09.959087" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.959937" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:09.959613" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.960438" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:09.960127" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.960957" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538be20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:09.960629" 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-08-18T20:13:09.954372" elapsed="0.006680"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.961571" 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-08-18T20:13:09.961197" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.961999" 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-08-18T20:13:09.961761" 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-08-18T20:13:09.969831" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.969512" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:09.974023" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:09.974144" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:09.974240" 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-08-18T20:13:09.969986" elapsed="0.004279"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.974671" 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-08-18T20:13:09.974420" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.976826" 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-08-18T20:13:09.974872" elapsed="0.002004"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:09.978642" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:09.976944" elapsed="0.001793"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.976926" elapsed="0.001852"/>
</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-08-18T20:13:09.978918" 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-08-18T20:13:09.979147" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:09.979008" elapsed="0.000191"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:09.978992" elapsed="0.000229"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.979253" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:09.980860" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:09.980905" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:09.969203" elapsed="0.011724"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:09.983018" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:09.981455" elapsed="0.001608"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:09.981438" elapsed="0.001647"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.983722" 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-08-18T20:13:09.983254" elapsed="0.000539"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.984507" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:09.984013" elapsed="0.000531"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:09.984611" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:09.984880" 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-08-18T20:13:09.981133" elapsed="0.003783"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:09.985128" elapsed="0.000528"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:09.968641" elapsed="0.017119"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:09.996283" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:09.995989" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.005874" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.007516" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:10.008208" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:09.996436" elapsed="0.011832"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.009217" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.008619" elapsed="0.000698"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.015789" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:10.009627" elapsed="0.006929"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.018370" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.016627" elapsed="0.001792"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.016608" elapsed="0.001833"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.044460" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:10.044507" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:10.018579" elapsed="0.025951"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.046292" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.044608" elapsed="0.001741"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.044589" elapsed="0.001784"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:10.046407" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.046600" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:10.046643" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:09.995525" elapsed="0.051140"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.048808" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.047242" elapsed="0.001612"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.047224" elapsed="0.001652"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.049415" 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-08-18T20:13:10.049019" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.049963" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.049600" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.050038" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.050214" 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-08-18T20:13:10.046892" elapsed="0.003347"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.050392" 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-08-18T20:13:09.994631" elapsed="0.056220"/>
</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-08-18T20:13:09.951172" elapsed="0.099734"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:09.944460" elapsed="0.106583"/>
</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-08-18T20:13:10.061693" 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-08-18T20:13:10.061842" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:10.061558" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.062423" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3c90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:10.062020" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.062888" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:10.062599" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.063418" 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-08-18T20:13:10.063140" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.063878" 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-08-18T20:13:10.063591" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.064723" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:10.064051" elapsed="0.000717"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.065252" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.064929" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.065824" 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-08-18T20:13:10.065486" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.066333" 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-08-18T20:13:10.066013" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.066844" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:10.066521" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.067377" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:10.067061" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.067899" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3c90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.067567" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:10.061232" elapsed="0.006762"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.068509" 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-08-18T20:13:10.068136" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.068936" 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-08-18T20:13:10.068683" 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-08-18T20:13:10.076797" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.076487" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.081206" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.081330" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:10.081426" 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-08-18T20:13:10.076951" elapsed="0.004500"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.081875" 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-08-18T20:13:10.081607" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.084020" 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-08-18T20:13:10.082068" elapsed="0.002002"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:10.085858" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:10.084139" elapsed="0.001823"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.084120" elapsed="0.001870"/>
</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-08-18T20:13:10.086129" 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-08-18T20:13:10.086350" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.086219" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:10.086203" elapsed="0.000220"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.086455" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:10.088081" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:10.088126" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:10.076180" elapsed="0.011969"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.090242" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.088682" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.088664" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.090869" 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-08-18T20:13:10.090451" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.091403" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.091056" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.091478" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.091654" 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-08-18T20:13:10.088356" elapsed="0.003323"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.091855" 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-08-18T20:13:10.075618" elapsed="0.016682"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.099965" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.099649" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.110245" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.111000" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:10.111282" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:10.100119" elapsed="0.011189"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.111718" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.111467" elapsed="0.000312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.114612" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:10.111920" elapsed="0.003478"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.117217" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.115471" elapsed="0.001796"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.115451" elapsed="0.001839"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.142458" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:10.142506" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:10.117425" elapsed="0.025104"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.144323" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.142608" elapsed="0.001771"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.142589" elapsed="0.001814"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:10.144437" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:10.144630" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:10.144673" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:10.099279" elapsed="0.045416"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.146834" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.145257" elapsed="0.001622"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.145239" elapsed="0.001661"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.147443" 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-08-18T20:13:10.147044" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.147992" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.147626" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.148067" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.148243" 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-08-18T20:13:10.144928" elapsed="0.003340"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.148420" 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-08-18T20:13:10.098637" elapsed="0.050247"/>
</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-08-18T20:13:10.058040" elapsed="0.090900"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:10.051291" elapsed="0.097760"/>
</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-08-18T20:13:10.159725" 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-08-18T20:13:10.159878" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:10.159589" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.160466" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5710&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:10.160057" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.160941" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:10.160648" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.161383" 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-08-18T20:13:10.161116" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.161836" 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-08-18T20:13:10.161554" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.162686" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:10.162009" elapsed="0.000722"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.163224" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.162900" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.163793" 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-08-18T20:13:10.163457" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.164312" 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-08-18T20:13:10.163988" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.164827" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:10.164502" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.165337" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:10.165021" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.165857" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5710&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.165528" 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-08-18T20:13:10.159264" elapsed="0.006689"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.166476" 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-08-18T20:13:10.166098" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.166934" 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-08-18T20:13:10.166655" elapsed="0.000343"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.174731" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.174418" elapsed="0.000354"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.179719" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.179863" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:10.179961" 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-08-18T20:13:10.174906" elapsed="0.005079"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.180391" 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-08-18T20:13:10.180144" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.182511" 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-08-18T20:13:10.180578" elapsed="0.001984"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:10.184357" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:10.182631" elapsed="0.001826"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.182612" 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-08-18T20:13:10.184629" 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-08-18T20:13:10.184869" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.184720" elapsed="0.000202"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:10.184704" elapsed="0.000240"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.184976" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:10.186568" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:10.186613" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:10.174106" elapsed="0.012530"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.188787" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.187216" elapsed="0.001617"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.187198" elapsed="0.001656"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.189388" 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-08-18T20:13:10.188996" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.189933" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.189572" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.190008" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:10.190185" 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-08-18T20:13:10.186886" elapsed="0.003325"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.190362" 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-08-18T20:13:10.173541" elapsed="0.017297"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.198442" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.198150" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.209099" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.209841" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:10.210121" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:10.198594" elapsed="0.011554"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.210553" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.210304" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.213462" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:10.210774" elapsed="0.003467"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.216050" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.214313" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.214294" elapsed="0.001827"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.240435" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:10.240482" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:10.216257" elapsed="0.024248"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.242268" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.240583" elapsed="0.001741"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.240564" elapsed="0.001784"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:10.242382" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:10.242597" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:10.242641" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:10.197780" elapsed="0.044883"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.244796" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.243217" elapsed="0.001624"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.243199" elapsed="0.001664"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.245399" 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-08-18T20:13:10.245004" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.245948" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.245584" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.246024" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.246200" 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-08-18T20:13:10.242889" elapsed="0.003335"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.246378" 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-08-18T20:13:10.197165" elapsed="0.049687"/>
</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-08-18T20:13:10.156063" elapsed="0.090845"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:10.149301" elapsed="0.097715"/>
</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-08-18T20:13:10.257627" 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-08-18T20:13:10.257773" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.257487" elapsed="0.000316"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.258361" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570d710&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:10.257951" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.258838" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:10.258549" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.259279" 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-08-18T20:13:10.259014" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.259712" 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-08-18T20:13:10.259449" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.260637" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:10.259900" elapsed="0.000767"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.261155" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.260832" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.261703" 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-08-18T20:13:10.261381" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.262232" 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-08-18T20:13:10.261908" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.262754" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.262420" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.263260" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:10.262948" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.263930" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570d710&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.263451" elapsed="0.000522"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:10.257166" elapsed="0.006863"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.264554" 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-08-18T20:13:10.264176" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.264984" 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-08-18T20:13:10.264731" 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-08-18T20:13:10.272532" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.272240" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.276776" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.276894" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:10.276990" 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-08-18T20:13:10.272684" elapsed="0.004331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.277416" 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-08-18T20:13:10.277170" elapsed="0.000290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.279556" 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-08-18T20:13:10.277604" elapsed="0.002008"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:10.281425" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:10.279713" elapsed="0.001779"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.279693" elapsed="0.001823"/>
</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-08-18T20:13:10.281652" 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-08-18T20:13:10.281890" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.281756" elapsed="0.000186"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:10.281726" elapsed="0.000239"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.281996" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:10.283592" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:10.283636" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:10.271931" elapsed="0.011727"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.285797" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.284232" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.284215" elapsed="0.001649"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.286399" 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-08-18T20:13:10.286006" elapsed="0.000445"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.286976" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.286613" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.287050" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.287226" 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-08-18T20:13:10.283897" elapsed="0.003353"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.287401" 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-08-18T20:13:10.271376" elapsed="0.016484"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.295459" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.295166" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.306856" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.308492" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:10.309150" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:10.295616" elapsed="0.013594"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.310532" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.309566" elapsed="0.001071"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.315549" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:10.310992" elapsed="0.005360"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.318149" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.316425" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.316406" elapsed="0.001815"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.339507" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:10.339555" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:10.318369" elapsed="0.021210"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.341350" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.339662" elapsed="0.001745"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.339643" elapsed="0.001787"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:10.341464" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.341659" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:10.341702" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:10.294800" elapsed="0.046924"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.343854" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.342284" elapsed="0.001615"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.342266" elapsed="0.001654"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.344463" 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-08-18T20:13:10.344064" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.345014" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.344648" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.345089" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:10.345266" 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-08-18T20:13:10.341954" elapsed="0.003337"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.345445" 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-08-18T20:13:10.294176" elapsed="0.051734"/>
</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-08-18T20:13:10.253955" elapsed="0.092010"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:10.247264" elapsed="0.098810"/>
</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-08-18T20:13:10.356717" 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-08-18T20:13:10.356866" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.356581" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.357463" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3eed0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:10.357045" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.357929" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:10.357638" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.358394" 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-08-18T20:13:10.358103" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.358848" 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-08-18T20:13:10.358566" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.359776" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:10.359020" elapsed="0.000787"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.360286" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.359962" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.360854" 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-08-18T20:13:10.360519" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.361368" 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-08-18T20:13:10.361046" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.361877" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.361556" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.362394" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:10.362068" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.363073" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3eed0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.362586" elapsed="0.000531"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:10.356259" elapsed="0.006914"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.363699" 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-08-18T20:13:10.363319" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.364129" 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-08-18T20:13:10.363892" 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-08-18T20:13:10.371668" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.371373" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.376784" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.376906" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:10.377003" 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-08-18T20:13:10.371838" elapsed="0.005190"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.377432" 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-08-18T20:13:10.377185" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.379560" 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-08-18T20:13:10.377614" elapsed="0.001995"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:10.381440" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:10.379709" elapsed="0.001798"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.379690" elapsed="0.001842"/>
</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-08-18T20:13:10.381669" 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-08-18T20:13:10.381906" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.381775" elapsed="0.000183"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:10.381757" elapsed="0.000224"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.382013" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:13:10.383639" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:10.383684" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:10.371065" elapsed="0.012641"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.385807" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.384249" elapsed="0.001603"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.384232" elapsed="0.001642"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.386432" 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-08-18T20:13:10.386016" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.386985" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.386622" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.387059" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.387235" 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-08-18T20:13:10.383926" elapsed="0.003334"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.387413" 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-08-18T20:13:10.370507" elapsed="0.017363"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.395493" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.395201" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.406640" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.407378" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:10.407661" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:10.395644" elapsed="0.012043"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.408258" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.407860" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.411014" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:10.408447" elapsed="0.003344"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.413581" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.411862" elapsed="0.001768"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.411844" elapsed="0.001808"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.436040" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:10.436087" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:10.413802" elapsed="0.022308"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.437934" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.436187" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.436168" elapsed="0.001848"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:10.438050" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.438268" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:10.438311" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:10.394832" elapsed="0.043501"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.440433" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.438885" elapsed="0.001594"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.438867" elapsed="0.001634"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.441058" 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-08-18T20:13:10.440644" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.441591" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.441243" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.441666" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.441858" 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-08-18T20:13:10.438542" elapsed="0.003341"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.442037" 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-08-18T20:13:10.394212" elapsed="0.048278"/>
</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-08-18T20:13:10.353056" elapsed="0.089490"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:10.346251" elapsed="0.096402"/>
</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-08-18T20:13:10.453332" 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-08-18T20:13:10.453462" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:10.453197" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.454072" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3dfd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:10.453639" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.454521" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:10.454248" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.454977" 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-08-18T20:13:10.454694" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.455414" 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-08-18T20:13:10.455149" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.456291" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:10.455584" elapsed="0.000738"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.456815" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.456475" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.457363" 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-08-18T20:13:10.457045" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.457891" 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-08-18T20:13:10.457553" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.458416" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:10.458105" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.458937" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:10.458608" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.459444" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3dfd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.459129" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:10.452873" elapsed="0.006665"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.460101" 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-08-18T20:13:10.459689" elapsed="0.000443"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.460514" 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-08-18T20:13:10.460279" 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-08-18T20:13:10.468267" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.467973" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.472549" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.472668" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:10.472784" 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-08-18T20:13:10.468419" elapsed="0.004392"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.473217" 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-08-18T20:13:10.472969" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.475407" 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-08-18T20:13:10.473401" elapsed="0.002057"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:10.477323" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:10.475555" elapsed="0.001836"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.475508" elapsed="0.001908"/>
</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-08-18T20:13:10.477552" 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-08-18T20:13:10.477797" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.477643" elapsed="0.000208"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:10.477627" elapsed="0.000247"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.477907" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:10.479560" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:10.479605" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:10.467645" elapsed="0.011984"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.481850" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.480178" elapsed="0.001719"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.480160" elapsed="0.001759"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.482476" 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-08-18T20:13:10.482080" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.483034" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.482667" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.483110" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:10.483291" 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-08-18T20:13:10.479850" 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-08-18T20:13:10.483469" 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-08-18T20:13:10.467100" elapsed="0.016830"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.491765" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.491459" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.499123" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.499856" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:10.500140" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:10.491919" elapsed="0.008246"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.500569" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.500321" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.503468" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:10.500774" elapsed="0.003472"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.506102" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.504318" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.504299" elapsed="0.001874"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.579683" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:10.579762" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:10.506310" elapsed="0.073478"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.581708" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.579915" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.579882" elapsed="0.001940"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:10.581860" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:10.582081" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:10.582124" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:10.491088" elapsed="0.091058"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.584318" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.582777" elapsed="0.001585"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.582757" elapsed="0.001627"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.585009" 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-08-18T20:13:10.584533" elapsed="0.000503"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.585540" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.585195" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.585613" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.585817" 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-08-18T20:13:10.582400" elapsed="0.003442"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.585996" 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-08-18T20:13:10.490468" elapsed="0.095992"/>
</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-08-18T20:13:10.449658" elapsed="0.136858"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:10.442917" elapsed="0.143729"/>
</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-08-18T20:13:10.597428" 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-08-18T20:13:10.597597" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:10.597285" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.598218" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e5c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:10.597800" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.598671" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:10.598392" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.599128" 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-08-18T20:13:10.598861" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.599564" 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-08-18T20:13:10.599300" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.600425" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:10.599734" elapsed="0.000721"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.600951" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.600608" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.601520" 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-08-18T20:13:10.601205" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.602215" 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-08-18T20:13:10.601709" elapsed="0.000548"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.602714" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:10.602405" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.603237" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:10.602922" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.603755" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e5c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.603428" 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-08-18T20:13:10.596959" elapsed="0.006894"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.604366" 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-08-18T20:13:10.603996" elapsed="0.000400"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.604788" 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-08-18T20:13:10.604539" 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-08-18T20:13:10.612331" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.612031" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.617418" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.617678" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:10.617839" 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-08-18T20:13:10.612482" elapsed="0.005384"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.618274" 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-08-18T20:13:10.618023" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.620439" 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-08-18T20:13:10.618459" 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-08-18T20:13:10.622349" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:10.620560" elapsed="0.001857"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.620541" elapsed="0.001901"/>
</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-08-18T20:13:10.622616" 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-08-18T20:13:10.622856" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.622708" elapsed="0.000201"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:10.622692" elapsed="0.000240"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.622964" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:10.624594" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:10.624638" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:10.611707" elapsed="0.012953"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.626849" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.625208" elapsed="0.001687"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.625190" elapsed="0.001727"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.627453" 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-08-18T20:13:10.627060" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.628006" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.627637" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.628083" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.628261" 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-08-18T20:13:10.624880" elapsed="0.003407"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.628441" 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-08-18T20:13:10.611164" elapsed="0.017741"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.636760" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.636451" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.647737" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.648642" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:10.648950" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:10.636914" elapsed="0.012062"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.649381" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.649131" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.652140" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:10.649564" elapsed="0.003348"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.654712" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.652983" elapsed="0.001791"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.652964" elapsed="0.001833"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.677144" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:10.677191" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:10.654933" elapsed="0.022281"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.678990" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.677291" elapsed="0.001755"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.677272" elapsed="0.001798"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:10.679104" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.679297" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:10.679340" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:10.636078" elapsed="0.043284"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.681468" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.679918" elapsed="0.001594"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.679899" elapsed="0.001635"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.682122" 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-08-18T20:13:10.681707" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.682655" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.682308" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.682730" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:13:10.682924" 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-08-18T20:13:10.679574" elapsed="0.003375"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.683102" elapsed="0.000381"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:10.635457" elapsed="0.048089"/>
</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-08-18T20:13:10.593774" elapsed="0.089828"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:10.587006" elapsed="0.096711"/>
</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-08-18T20:13:10.694496" 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-08-18T20:13:10.694625" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:10.694360" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.695195" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5030&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:10.694816" elapsed="0.000406"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.695640" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:10.695369" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.696096" 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-08-18T20:13:10.695830" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.696530" 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-08-18T20:13:10.696268" elapsed="0.000287"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.697257" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.696706" elapsed="0.000580"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.697785" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.697437" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.698336" 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-08-18T20:13:10.698017" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.698862" 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-08-18T20:13:10.698525" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.699358" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:10.699051" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.699873" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.699546" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.700378" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5030&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.700065" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:10.694036" elapsed="0.006437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.701007" 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-08-18T20:13:10.700618" elapsed="0.000419"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.701421" 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-08-18T20:13:10.701184" elapsed="0.000293"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.710804" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.710493" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.714676" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.714814" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:10.714919" 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-08-18T20:13:10.710957" elapsed="0.003987"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.715348" 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-08-18T20:13:10.715099" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.717470" 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-08-18T20:13:10.715530" elapsed="0.002011"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:10.719336" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:10.717609" elapsed="0.001793"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.717591" elapsed="0.001835"/>
</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-08-18T20:13:10.719562" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.719794" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.719650" elapsed="0.000261"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:10.719634" elapsed="0.000302"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.719968" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:10.721584" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:10.721628" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:10.710184" elapsed="0.011466"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.723739" elapsed="0.000030"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.722193" elapsed="0.001607"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.722176" elapsed="0.001646"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.724355" 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-08-18T20:13:10.723964" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.724898" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.724537" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.724972" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.725148" 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-08-18T20:13:10.721870" elapsed="0.003303"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.725323" 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-08-18T20:13:10.709618" elapsed="0.016172"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.733386" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.733095" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.740087" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.740824" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:10.741103" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:10.733563" elapsed="0.007566"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.741545" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.741284" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.744429" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:10.741727" elapsed="0.003474"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.747026" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.745272" elapsed="0.001803"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.745253" elapsed="0.001843"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.769603" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:10.769648" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:10.747230" elapsed="0.022441"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.771430" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.769761" elapsed="0.001724"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.769728" elapsed="0.001781"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:10.771542" elapsed="0.000026"/>
</return>
<msg time="2026-08-18T20:13:10.771736" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:10.771796" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:10.732714" elapsed="0.039105"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.773936" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.772353" elapsed="0.001627"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.772334" elapsed="0.001668"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.774537" 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-08-18T20:13:10.774144" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.775084" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.774721" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.775158" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.775335" 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-08-18T20:13:10.772028" elapsed="0.003332"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.775512" 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-08-18T20:13:10.732118" elapsed="0.043857"/>
</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-08-18T20:13:10.690730" elapsed="0.085300"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:10.683976" elapsed="0.092160"/>
</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-08-18T20:13:10.786823" 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-08-18T20:13:10.786956" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:10.786671" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.787530" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986320c20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:10.787134" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.787995" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:10.787704" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.788432" 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-08-18T20:13:10.788168" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.788882" 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-08-18T20:13:10.788602" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.789689" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:10.789052" elapsed="0.000667"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.790211" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.789885" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.790774" 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-08-18T20:13:10.790441" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.791289" 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-08-18T20:13:10.790966" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.791801" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:10.791477" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.792306" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:10.791994" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.792825" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986320c20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.792497" 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-08-18T20:13:10.786347" elapsed="0.006573"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.793461" 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-08-18T20:13:10.793065" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.793892" 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-08-18T20:13:10.793637" 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-08-18T20:13:10.801681" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.801388" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.806454" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.806571" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:10.806667" 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-08-18T20:13:10.801849" elapsed="0.004843"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.807124" 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-08-18T20:13:10.806869" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.809250" 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-08-18T20:13:10.807308" elapsed="0.002008"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:10.811102" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:10.809386" elapsed="0.001784"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.809368" elapsed="0.001826"/>
</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-08-18T20:13:10.811362" 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-08-18T20:13:10.811583" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.811453" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:10.811437" elapsed="0.000220"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.811688" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:10.813315" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:10.813361" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:10.801066" elapsed="0.012318"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.815481" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.813934" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.813916" elapsed="0.001631"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.816098" 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-08-18T20:13:10.815690" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.816625" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.816281" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.816700" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.816893" 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-08-18T20:13:10.813592" elapsed="0.003326"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.817070" 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-08-18T20:13:10.800506" elapsed="0.017021"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.825117" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.824824" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.835409" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.836147" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:10.836427" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:10.825291" elapsed="0.011161"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.836876" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.836610" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.839763" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:10.837060" elapsed="0.003472"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.842349" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.840603" elapsed="0.001794"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.840584" elapsed="0.001835"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.866389" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:10.866436" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:10.842553" elapsed="0.023905"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.868211" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.866535" elapsed="0.001732"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.866516" elapsed="0.001775"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:10.868324" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:10.868514" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:10.868557" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:10.824443" elapsed="0.044136"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.870698" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.869131" elapsed="0.001625"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.869113" elapsed="0.001666"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.871319" 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-08-18T20:13:10.870923" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.871874" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.871505" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.871949" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:10.872128" 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-08-18T20:13:10.868806" elapsed="0.003347"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.872307" elapsed="0.000378"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:10.823843" elapsed="0.048917"/>
</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-08-18T20:13:10.783147" elapsed="0.089675"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:10.776374" elapsed="0.096556"/>
</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-08-18T20:13:10.883617" 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-08-18T20:13:10.883762" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:10.883483" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.884327" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a63e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:10.883941" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.884788" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:10.884501" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.885247" 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-08-18T20:13:10.884963" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.885683" 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-08-18T20:13:10.885419" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.886477" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.885868" elapsed="0.000639"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.887002" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.886661" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.887552" 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-08-18T20:13:10.887235" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.888079" 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-08-18T20:13:10.887755" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.888573" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:10.888267" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.889092" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.888778" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.889609" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a63e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.889297" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:10.883160" elapsed="0.006545"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.890237" 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-08-18T20:13:10.889866" elapsed="0.000401"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.890650" 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-08-18T20:13:10.890414" elapsed="0.000294"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.898427" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.898132" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.903135" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.903257" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:10.903353" 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-08-18T20:13:10.898580" elapsed="0.004798"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.903939" 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-08-18T20:13:10.903534" elapsed="0.000467"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.907173" 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-08-18T20:13:10.904196" elapsed="0.003047"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:10.909992" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:13:10.907339" elapsed="0.002750"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.907313" elapsed="0.002811"/>
</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-08-18T20:13:10.910327" 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-08-18T20:13:10.910730" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.910503" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:10.910435" elapsed="0.000441"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.910921" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:13:10.913182" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:10.913243" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:10.897823" elapsed="0.015451"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.915523" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.913981" elapsed="0.001587"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.913963" elapsed="0.001626"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.916167" 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-08-18T20:13:10.915730" elapsed="0.000463"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.916697" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.916352" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.916788" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:10.916966" 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-08-18T20:13:10.913565" elapsed="0.003425"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.917165" 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-08-18T20:13:10.897258" elapsed="0.020358"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.925271" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:10.924952" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:10.934812" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:10.936464" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;23&lt;/priority&gt;&lt;cookie_mask&gt;0&lt;/cookie_mask&gt;&lt;idle... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:10.937170" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:10.925425" elapsed="0.011805"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.938206" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.937583" elapsed="0.000722"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.944775" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;481000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;987000000&lt;/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;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;488000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;980000000&lt;/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;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;484000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;988000000&lt;/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;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;498000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;994000000&lt;/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;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;483000000&lt;/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;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;499000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;996000000&lt;/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;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;504000000&lt;/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;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;5000000&lt;/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;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;500000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;999000000&lt;/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;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;508000000&lt;/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;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;500000000&lt;/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;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;7000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;471000000&lt;/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;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;10000000&lt;/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;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;513000000&lt;/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;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;8000000&lt;/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;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;508000000&lt;/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;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;13000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;462000000&lt;/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;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;514000000&lt;/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;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;14000000&lt;/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;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;512000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;966000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;464000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;964000000&lt;/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;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;15000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;462000000&lt;/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;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;518000000&lt;/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;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;477000000&lt;/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;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;19000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;970000000&lt;/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;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;518000000&lt;/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;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;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-56&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;472000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;974000000&lt;/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;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;470000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;972000000&lt;/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;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;475000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;975000000&lt;/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;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;472000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;978000000&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-08-18T20:13:10.938613" elapsed="0.007502"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.947905" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.946188" elapsed="0.001765"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.946169" elapsed="0.001806"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.970632" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:10.970679" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:10.948112" elapsed="0.022590"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:10.972502" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:10.970795" elapsed="0.001762"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.970776" elapsed="0.001805"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:10.972614" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.972825" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:10.972869" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:10.924569" elapsed="0.048321"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:10.975014" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:10.973455" elapsed="0.001604"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:10.973437" elapsed="0.001644"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.975623" 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-08-18T20:13:10.975223" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.976171" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:10.975824" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:10.976247" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:10.976422" 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-08-18T20:13:10.973127" elapsed="0.003320"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:10.976600" 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-08-18T20:13:10.923970" elapsed="0.053099"/>
</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-08-18T20:13:10.879940" elapsed="0.097185"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:10.873179" elapsed="0.104059"/>
</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-08-18T20:13:10.978397" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:10.978155" elapsed="0.000288"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:10.981848" 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-08-18T20:13:10.981989" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.981693" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.982555" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389260&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:10.982166" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.983026" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:10.982734" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.983462" 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-08-18T20:13:10.983199" elapsed="0.000288"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:10.983927" 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-08-18T20:13:10.983639" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:10.984682" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:10.984098" elapsed="0.000614"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.985207" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.984881" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.985763" 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-08-18T20:13:10.985443" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.986264" 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-08-18T20:13:10.985956" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.986767" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.986453" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.987262" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:10.986961" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.987768" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389260&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:10.987453" 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-08-18T20:13:10.981366" elapsed="0.006499"/>
</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-08-18T20:13:10.989320" 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-08-18T20:13:10.988916" elapsed="0.000462"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:10.989781" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:10.989518" elapsed="0.000320"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.990246" level="INFO">${xml} = &lt;Element 'input' at 0x79a985388ae0&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-08-18T20:13:10.989981" elapsed="0.000292"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:10.990684" 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-08-18T20:13:10.990416" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.991239" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985388450&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-08-18T20:13:10.990889" elapsed="0.000377"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:10.991765" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a98538bd80&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-08-18T20:13:10.991410" 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-08-18T20:13:10.991937" elapsed="0.000263"/>
</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-08-18T20:13:10.992345" 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-08-18T20:13:10.992763" 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-08-18T20:13:10.993178" 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-08-18T20:13:10.993555" elapsed="0.000247"/>
</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-08-18T20:13:10.993946" elapsed="0.000231"/>
</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-08-18T20:13:10.994352" 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-08-18T20:13:10.994845" 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-08-18T20:13:10.995317" elapsed="0.000328"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:10.996079" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98630fb00&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-08-18T20:13:10.995811" 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-08-18T20:13:10.996251" elapsed="0.000243"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:10.997181" 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-08-18T20:13:10.996652" elapsed="0.000610"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:10.997944" 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-08-18T20:13:10.997429" elapsed="0.000548"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:11.534129" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:11.534326" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:11.534579" 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-08-18T20:13:10.998110" elapsed="0.536527"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:11.540012" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:11.535115" elapsed="0.005000"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985389260&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-08-18T20:13:10.988499" elapsed="0.551756"/>
</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-08-18T20:13:10.988014" elapsed="0.552458"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-08-18T20:13:10.978028" elapsed="0.562531"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:11.541330" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:11.540980" 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-08-18T20:13:11.546149" 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-08-18T20:13:11.546356" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:11.545949" elapsed="0.000447"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:11.547195" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913600&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:11.546601" elapsed="0.000633"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:11.547868" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:11.547442" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:11.548482" 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-08-18T20:13:11.548109" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:11.549142" 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-08-18T20:13:11.548721" elapsed="0.000456"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:11.550249" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:11.549380" elapsed="0.000911"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:11.550970" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:11.550506" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:11.551657" 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-08-18T20:13:11.551236" elapsed="0.000477"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:11.552394" 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-08-18T20:13:11.551965" elapsed="0.000485"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:11.553030" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:11.552675" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:11.553518" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:11.553218" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:11.554024" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913600&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:11.553706" 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-08-18T20:13:11.545448" elapsed="0.008671"/>
</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-08-18T20:13:11.555393" 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-08-18T20:13:11.555151" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:11.555854" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:11.555586" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:11.556362" level="INFO">${xml} = &lt;Element 'input' at 0x79a985912980&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-08-18T20:13:11.556092" elapsed="0.000298"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:11.556808" 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-08-18T20:13:11.556531" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:11.557350" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985912a20&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-08-18T20:13:11.556998" elapsed="0.000380"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:11.557887" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9863a8ea0&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-08-18T20:13:11.557521" 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-08-18T20:13:11.558057" elapsed="0.000396"/>
</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-08-18T20:13:11.558602" 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-08-18T20:13:11.559023" 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-08-18T20:13:11.559403" 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-08-18T20:13:11.559805" 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-08-18T20:13:11.560181" elapsed="0.000229"/>
</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-08-18T20:13:11.560554" elapsed="0.000340"/>
</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-08-18T20:13:11.561037" 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-08-18T20:13:11.561499" elapsed="0.000345"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:11.562257" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9896b9760&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-08-18T20:13:11.561993" elapsed="0.000290"/>
</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-08-18T20:13:11.562427" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:11.563246" 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-08-18T20:13:11.562825" elapsed="0.000492"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:11.563939" 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-08-18T20:13:11.563459" elapsed="0.000511"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:12.035682" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:12.036026" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:12.036274" 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-08-18T20:13:11.564099" elapsed="0.472233"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.040008" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:12.036741" elapsed="0.003332"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985913600&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-08-18T20:13:11.554766" elapsed="0.485399"/>
</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-08-18T20:13:11.554266" elapsed="0.485983"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-08-18T20:13:11.540795" elapsed="0.499510"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.041101" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:12.040689" 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-08-18T20:13:12.046353" 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-08-18T20:13:12.046596" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:12.046151" elapsed="0.000498"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:12.047494" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a129d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:12.046919" elapsed="0.000614"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:12.048004" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:12.047707" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:12.048440" 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-08-18T20:13:12.048176" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:12.048892" 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-08-18T20:13:12.048610" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:12.049668" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:12.049064" elapsed="0.000635"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.050367" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:12.049874" elapsed="0.000535"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.050891" 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-08-18T20:13:12.050559" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.051396" 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-08-18T20:13:12.051082" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.051899" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:12.051582" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.052391" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:12.052090" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.052897" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a129d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:12.052581" 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-08-18T20:13:12.045640" elapsed="0.007351"/>
</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-08-18T20:13:12.054253" 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-08-18T20:13:12.054010" elapsed="0.000341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.054730" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:12.054490" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:12.055225" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a136f0&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-08-18T20:13:12.054959" elapsed="0.000293"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:12.055653" 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-08-18T20:13:12.055392" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:12.056201" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985a12430&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-08-18T20:13:12.055854" elapsed="0.000374"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:12.056710" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985a13f60&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-08-18T20:13:12.056372" elapsed="0.000364"/>
</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-08-18T20:13:12.056896" elapsed="0.000260"/>
</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-08-18T20:13:12.057299" elapsed="0.000250"/>
</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-08-18T20:13:12.057694" 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-08-18T20:13:12.058085" elapsed="0.000229"/>
</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-08-18T20:13:12.058455" elapsed="0.000229"/>
</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-08-18T20:13:12.058863" 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-08-18T20:13:12.059236" elapsed="0.000323"/>
</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-08-18T20:13:12.059699" elapsed="0.000332"/>
</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-08-18T20:13:12.060171" elapsed="0.000320"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:12.060914" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a987cee2a0&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-08-18T20:13:12.060637" 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-08-18T20:13:12.061083" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:12.061892" 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-08-18T20:13:12.061463" elapsed="0.000536"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:12.062587" 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-08-18T20:13:12.062143" elapsed="0.000475"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:12.536532" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:12.536733" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:12.537023" 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-08-18T20:13:12.062771" elapsed="0.474313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.542495" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:12.537532" elapsed="0.005061"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985a129d0&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-08-18T20:13:12.053613" elapsed="0.489119"/>
</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-08-18T20:13:12.053138" elapsed="0.489753"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-08-18T20:13:12.040466" elapsed="0.502512"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.544105" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:12.543509" 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-08-18T20:13:12.549124" 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-08-18T20:13:12.549298" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:12.548978" elapsed="0.000348"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:12.549922" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef380&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:12.549473" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:12.550375" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:12.550097" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:12.550827" 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-08-18T20:13:12.550546" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:12.551263" 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-08-18T20:13:12.550998" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:12.552095" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:12.551432" elapsed="0.000694"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.552665" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:12.552339" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.553181" 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-08-18T20:13:12.552873" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.553681" 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-08-18T20:13:12.553372" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.554204" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:12.553900" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.554701" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:12.554397" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.555216" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef380&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:12.554910" 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-08-18T20:13:12.548608" elapsed="0.006705"/>
</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-08-18T20:13:12.556583" 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-08-18T20:13:12.556338" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:12.557032" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:12.556793" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:12.557491" level="INFO">${xml} = &lt;Element 'input' at 0x79a9856e8630&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-08-18T20:13:12.557228" elapsed="0.000291"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:12.557967" 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-08-18T20:13:12.557663" elapsed="0.000350"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:12.558513" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9856e81d0&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-08-18T20:13:12.558153" elapsed="0.000387"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:12.559179" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9856e9b70&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-08-18T20:13:12.558682" elapsed="0.000524"/>
</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-08-18T20:13:12.559346" elapsed="0.000260"/>
</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-08-18T20:13:12.559762" 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-08-18T20:13:12.560160" elapsed="0.000232"/>
</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-08-18T20:13:12.560564" 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-08-18T20:13:12.560958" elapsed="0.000231"/>
</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-08-18T20:13:12.561330" elapsed="0.000228"/>
</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-08-18T20:13:12.561701" elapsed="0.000368"/>
</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-08-18T20:13:12.562212" elapsed="0.000329"/>
</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-08-18T20:13:12.562682" elapsed="0.000340"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:12.563433" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856e84a0&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-08-18T20:13:12.563170" elapsed="0.000289"/>
</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-08-18T20:13:12.563602" elapsed="0.000262"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:12.564441" 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-08-18T20:13:12.564007" elapsed="0.000508"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:12.565131" 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-08-18T20:13:12.564657" elapsed="0.000505"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:13.037104" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:13.037343" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:13.037529" 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-08-18T20:13:12.565289" elapsed="0.472279"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.040839" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:13.037908" elapsed="0.002997"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a987cef380&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-08-18T20:13:12.555956" elapsed="0.485074"/>
</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-08-18T20:13:12.555459" elapsed="0.485658"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-08-18T20:13:12.543222" elapsed="0.497951"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.041889" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:13.041514" 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-08-18T20:13:13.046738" 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-08-18T20:13:13.046971" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:13.046538" elapsed="0.000474"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:13.047829" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c18a40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:13.047219" elapsed="0.000650"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:13.048469" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:13.048078" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:13.049131" 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-08-18T20:13:13.048710" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:13.049771" 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-08-18T20:13:13.049378" elapsed="0.000432"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:13.051175" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:13.050016" elapsed="0.001202"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.051917" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:13.051440" elapsed="0.000538"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.052655" 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-08-18T20:13:13.052225" elapsed="0.000487"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.053479" 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-08-18T20:13:13.052940" elapsed="0.000599"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.054115" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:13.053800" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.054607" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:13.054307" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.055119" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c18a40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:13.054815" 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-08-18T20:13:13.046053" elapsed="0.009161"/>
</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-08-18T20:13:13.056485" 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-08-18T20:13:13.056242" elapsed="0.000340"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.057041" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:13.056728" elapsed="0.000385"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:13.057540" level="INFO">${xml} = &lt;Element 'input' at 0x79a986399530&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-08-18T20:13:13.057261" elapsed="0.000308"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:13.057993" 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-08-18T20:13:13.057710" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:13.058544" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a98639b380&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-08-18T20:13:13.058180" elapsed="0.000392"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:13.059092" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985a1d670&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-08-18T20:13:13.058715" elapsed="0.000404"/>
</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-08-18T20:13:13.059260" elapsed="0.000260"/>
</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-08-18T20:13:13.059664" elapsed="0.000269"/>
</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-08-18T20:13:13.060079" elapsed="0.000233"/>
</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-08-18T20:13:13.060453" elapsed="0.000228"/>
</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-08-18T20:13:13.060837" 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-08-18T20:13:13.061232" elapsed="0.000229"/>
</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-08-18T20:13:13.061601" 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-08-18T20:13:13.062098" 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-08-18T20:13:13.062574" elapsed="0.000345"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:13.063333" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98583b1f0&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-08-18T20:13:13.063068" 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-08-18T20:13:13.063503" elapsed="0.000255"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:13.064451" 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-08-18T20:13:13.063902" elapsed="0.000661"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:13.065229" 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-08-18T20:13:13.064707" elapsed="0.000553"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:13.538103" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:13.538281" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:13.538485" 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-08-18T20:13:13.065391" elapsed="0.473149"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.543367" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:13.538929" elapsed="0.004535"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a987c18a40&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-08-18T20:13:13.055859" elapsed="0.487732"/>
</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-08-18T20:13:13.055360" elapsed="0.488346"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-08-18T20:13:13.041333" elapsed="0.502488"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.544959" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:13.544347" elapsed="0.000712"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:13.552638" 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-08-18T20:13:13.552896" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:13.552333" elapsed="0.000593"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:13.553463" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583ab10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:13.553071" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:13.553925" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:13.553637" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:13.554361" 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-08-18T20:13:13.554097" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:13.554813" 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-08-18T20:13:13.554531" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:13.555633" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:13.555021" elapsed="0.000642"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.556163" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:13.555836" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.556663" 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-08-18T20:13:13.556360" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.557175" 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-08-18T20:13:13.556866" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.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-08-18T20:13:13.557361" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.558161" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:13.557860" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.558652" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583ab10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:13.558352" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:13.551528" elapsed="0.007239"/>
</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-08-18T20:13:13.560033" 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-08-18T20:13:13.559786" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:13.560505" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:13.560258" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:13.560994" level="INFO">${xml} = &lt;Element 'input' at 0x79a985839e90&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-08-18T20:13:13.560707" elapsed="0.000314"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:13.561415" 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-08-18T20:13:13.561163" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:13.562136" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a98583b010&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-08-18T20:13:13.561604" elapsed="0.000561"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:13.562664" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985839d50&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-08-18T20:13:13.562312" 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-08-18T20:13:13.562885" elapsed="0.000261"/>
</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-08-18T20:13:13.563291" elapsed="0.000252"/>
</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-08-18T20:13:13.563689" 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-08-18T20:13:13.564086" elapsed="0.000256"/>
</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-08-18T20:13:13.564486" elapsed="0.000229"/>
</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-08-18T20:13:13.564874" elapsed="0.000229"/>
</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-08-18T20:13:13.565244" elapsed="0.000330"/>
</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-08-18T20:13:13.565715" 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-08-18T20:13:13.566205" elapsed="0.000322"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:13.566952" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a37f10&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-08-18T20:13:13.566672" 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-08-18T20:13:13.567120" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:13.567963" 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-08-18T20:13:13.567499" elapsed="0.000542"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:13.568657" 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-08-18T20:13:13.568190" elapsed="0.000497"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:14.039189" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:14.039462" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:14.039677" 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-08-18T20:13:13.568829" elapsed="0.470905"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.044563" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:14.040126" elapsed="0.004536"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a98583ab10&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-08-18T20:13:13.559389" elapsed="0.485437"/>
</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-08-18T20:13:13.558913" elapsed="0.486035"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-08-18T20:13:13.544041" elapsed="0.500990"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.046121" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:14.045530" 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-08-18T20:13:14.050484" 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-08-18T20:13:14.050612" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:14.050349" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:14.051207" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0270&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:14.050804" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:14.051672" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:14.051395" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:14.052132" 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-08-18T20:13:14.051865" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:14.052566" 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-08-18T20:13:14.052304" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:14.054827" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:14.052736" elapsed="0.002122"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.055340" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:14.055014" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.055854" 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-08-18T20:13:14.055532" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.056348" 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-08-18T20:13:14.056043" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.056844" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:14.056534" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.057338" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:14.057035" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.057855" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0270&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:14.057528" 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-08-18T20:13:14.050019" elapsed="0.007931"/>
</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-08-18T20:13:14.059214" 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-08-18T20:13:14.058968" elapsed="0.000364"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.059718" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:14.059474" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:14.060206" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a37600&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-08-18T20:13:14.059941" elapsed="0.000293"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:14.060623" 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-08-18T20:13:14.060375" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:14.061207" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985a37c90&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-08-18T20:13:14.060835" elapsed="0.000400"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:14.061760" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a986356840&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-08-18T20:13:14.061380" elapsed="0.000411"/>
</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-08-18T20:13:14.061934" elapsed="0.000261"/>
</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-08-18T20:13:14.062341" elapsed="0.000254"/>
</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-08-18T20:13:14.062757" 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-08-18T20:13:14.063135" elapsed="0.000241"/>
</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-08-18T20:13:14.063516" elapsed="0.000248"/>
</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-08-18T20:13:14.063906" elapsed="0.000229"/>
</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-08-18T20:13:14.064275" 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-08-18T20:13:14.064778" 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-08-18T20:13:14.065263" elapsed="0.000325"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:14.066014" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98583b290&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-08-18T20:13:14.065734" 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-08-18T20:13:14.066184" elapsed="0.000353"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:14.067169" 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-08-18T20:13:14.066682" elapsed="0.000600"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:14.067956" 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-08-18T20:13:14.067442" elapsed="0.000544"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:14.540707" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:14.540994" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:14.541306" 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-08-18T20:13:14.068113" elapsed="0.473254"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.546676" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:14.541895" elapsed="0.004910"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9857f0270&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-08-18T20:13:14.058567" elapsed="0.488381"/>
</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-08-18T20:13:14.058094" elapsed="0.488982"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-08-18T20:13:14.045248" elapsed="0.501914"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.548284" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:14.547697" 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-08-18T20:13:14.553790" 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-08-18T20:13:14.553964" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:14.553627" elapsed="0.000366"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:14.554618" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583bf60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:14.554143" elapsed="0.000503"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:14.555093" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:14.554812" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:14.555532" 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-08-18T20:13:14.555267" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:14.556054" 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-08-18T20:13:14.555784" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:14.557059" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:14.556226" elapsed="0.000864"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.557576" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:14.557251" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.558099" 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-08-18T20:13:14.557782" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.558654" 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-08-18T20:13:14.558326" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.559164" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:14.558866" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.559664" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:14.559356" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.560178" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583bf60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:14.559876" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:14.553263" 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-08-18T20:13:14.561554" 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-08-18T20:13:14.561308" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:14.562012" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:14.561769" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:14.562493" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a1e520&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-08-18T20:13:14.562219" elapsed="0.000358"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:14.563042" 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-08-18T20:13:14.562739" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:14.563813" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985839fd0&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-08-18T20:13:14.563234" elapsed="0.000607"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:14.564363" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985a1d670&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-08-18T20:13:14.563986" elapsed="0.000404"/>
</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-08-18T20:13:14.564534" 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-08-18T20:13:14.564966" elapsed="0.000251"/>
</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-08-18T20:13:14.565367" elapsed="0.000233"/>
</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-08-18T20:13:14.565754" 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-08-18T20:13:14.566135" elapsed="0.000231"/>
</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-08-18T20:13:14.566508" elapsed="0.000269"/>
</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-08-18T20:13:14.566925" elapsed="0.000359"/>
</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-08-18T20:13:14.567426" elapsed="0.000372"/>
</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-08-18T20:13:14.567941" elapsed="0.000330"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:14.568683" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856eb100&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-08-18T20:13:14.568420" elapsed="0.000289"/>
</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-08-18T20:13:14.568876" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:14.569788" 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-08-18T20:13:14.569260" elapsed="0.000612"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:14.570537" 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-08-18T20:13:14.570014" elapsed="0.000602"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:15.041726" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:15.042001" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:15.042226" 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-08-18T20:13:14.570776" elapsed="0.471511"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.047253" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:15.042682" elapsed="0.004671"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a98583bf60&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-08-18T20:13:14.560921" elapsed="0.486568"/>
</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-08-18T20:13:14.560417" elapsed="0.487195"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-08-18T20:13:14.547411" elapsed="0.500291"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.048877" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:15.048284" 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-08-18T20:13:15.053474" 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-08-18T20:13:15.053620" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:15.053331" elapsed="0.000318"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:15.054252" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebbf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:15.053813" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:15.054708" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:15.054432" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:15.055171" 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-08-18T20:13:15.054902" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:15.055828" 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-08-18T20:13:15.055393" elapsed="0.000462"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:15.056768" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:15.056006" elapsed="0.000794"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.057277" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:15.056956" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.057793" 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-08-18T20:13:15.057471" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.058325" 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-08-18T20:13:15.058010" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.058830" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:15.058516" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.059330" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:15.059026" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.059840" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebbf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:15.059522" 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-08-18T20:13:15.052987" elapsed="0.006951"/>
</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-08-18T20:13:15.061212" 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-08-18T20:13:15.060967" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.061651" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:15.061412" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:15.062159" level="INFO">${xml} = &lt;Element 'input' at 0x79a9856ea110&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-08-18T20:13:15.061891" elapsed="0.000295"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:15.062616" 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-08-18T20:13:15.062327" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:15.063205" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9856eb380&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-08-18T20:13:15.062821" elapsed="0.000411"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:15.063769" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9856ebfb0&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-08-18T20:13:15.063374" 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-08-18T20:13:15.063939" 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-08-18T20:13:15.064350" 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-08-18T20:13:15.064768" 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-08-18T20:13:15.065150" 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-08-18T20:13:15.065525" 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-08-18T20:13:15.065959" 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-08-18T20:13:15.066341" elapsed="0.000503"/>
</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-08-18T20:13:15.066991" 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-08-18T20:13:15.067487" elapsed="0.000346"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:15.068243" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a13e20&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-08-18T20:13:15.067981" elapsed="0.000289"/>
</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-08-18T20:13:15.068413" elapsed="0.000239"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:15.069309" 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-08-18T20:13:15.068811" elapsed="0.000582"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:15.070088" 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-08-18T20:13:15.069534" elapsed="0.000585"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:15.542421" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:15.542657" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:15.542961" 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-08-18T20:13:15.070281" elapsed="0.472741"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.547417" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:15.543499" elapsed="0.003980"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9856ebbf0&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-08-18T20:13:15.060565" elapsed="0.487007"/>
</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-08-18T20:13:15.060083" elapsed="0.487567"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-08-18T20:13:15.047991" elapsed="0.499715"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.548464" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:15.548077" 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-08-18T20:13:15.553395" 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-08-18T20:13:15.553616" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:15.553184" elapsed="0.000470"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:15.554506" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a119e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:15.553885" elapsed="0.000659"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:15.555163" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:15.554771" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:15.555798" 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-08-18T20:13:15.555404" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:15.556432" 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-08-18T20:13:15.556042" elapsed="0.000428"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:15.557924" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:15.556762" elapsed="0.001195"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.558451" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:15.558122" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.558967" 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-08-18T20:13:15.558643" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.559467" 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-08-18T20:13:15.559157" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.559972" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:15.559658" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.560647" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:15.560165" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.561190" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a119e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:15.560859" 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-08-18T20:13:15.552646" elapsed="0.008644"/>
</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-08-18T20:13:15.562586" 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-08-18T20:13:15.562340" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:15.563042" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:15.562802" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:15.563512" level="INFO">${xml} = &lt;Element 'input' at 0x79a9896ba160&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-08-18T20:13:15.563244" elapsed="0.000295"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:15.563971" 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-08-18T20:13:15.563681" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:15.564575" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9896b99e0&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-08-18T20:13:15.564192" elapsed="0.000411"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:15.565171" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9896ba110&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-08-18T20:13:15.564767" elapsed="0.000432"/>
</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-08-18T20:13:15.565345" 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-08-18T20:13:15.565773" 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-08-18T20:13:15.566181" elapsed="0.000235"/>
</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-08-18T20:13:15.566559" elapsed="0.000248"/>
</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-08-18T20:13:15.566951" 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-08-18T20:13:15.567326" elapsed="0.000230"/>
</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-08-18T20:13:15.567701" 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-08-18T20:13:15.568221" 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-08-18T20:13:15.568719" elapsed="0.000345"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:15.569493" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98630d120&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-08-18T20:13:15.569228" 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-08-18T20:13:15.569665" elapsed="0.000262"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:15.570658" 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-08-18T20:13:15.570069" elapsed="0.000686"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:15.571422" 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-08-18T20:13:15.570902" elapsed="0.000550"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:16.043308" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:16.043633" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:16.043924" 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-08-18T20:13:15.571580" elapsed="0.472406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.049176" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:16.044440" 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 0x79a985a119e0&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-08-18T20:13:15.561959" elapsed="0.487456"/>
</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-08-18T20:13:15.561437" elapsed="0.488107"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-08-18T20:13:15.547893" elapsed="0.501746"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.050827" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:16.050236" 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-08-18T20:13:16.055450" 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-08-18T20:13:16.055607" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:16.055303" elapsed="0.000332"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:16.056236" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d530&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:16.055800" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:16.056711" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:16.056415" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:16.057171" 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-08-18T20:13:16.056903" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:16.057613" 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-08-18T20:13:16.057341" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:16.058598" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:16.057817" elapsed="0.000811"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.059125" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:16.058802" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.059634" 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-08-18T20:13:16.059321" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.060150" 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-08-18T20:13:16.059840" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.060653" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:16.060337" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.061167" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:16.060863" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.061656" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98630d530&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:16.061357" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:16.054950" elapsed="0.006815"/>
</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-08-18T20:13:16.063043" 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-08-18T20:13:16.062798" elapsed="0.000344"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.063542" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:16.063296" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:16.064045" level="INFO">${xml} = &lt;Element 'input' at 0x79a98538b420&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-08-18T20:13:16.063764" elapsed="0.000309"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:16.064676" 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-08-18T20:13:16.064221" elapsed="0.000503"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:16.065270" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985389620&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-08-18T20:13:16.064887" elapsed="0.000411"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:16.065829" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a98538ba60&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-08-18T20:13:16.065442" 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-08-18T20:13:16.065998" elapsed="0.000263"/>
</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-08-18T20:13:16.066418" elapsed="0.000268"/>
</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-08-18T20:13:16.066857" 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-08-18T20:13:16.067241" 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-08-18T20:13:16.067628" 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-08-18T20:13:16.068043" elapsed="0.000243"/>
</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-08-18T20:13:16.068433" elapsed="0.000404"/>
</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-08-18T20:13:16.068986" 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-08-18T20:13:16.069482" elapsed="0.000340"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:16.070233" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9855d3060&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-08-18T20:13:16.069971" elapsed="0.000289"/>
</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-08-18T20:13:16.070406" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:16.071304" 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-08-18T20:13:16.070803" elapsed="0.000621"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:16.072131" 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-08-18T20:13:16.071583" elapsed="0.000580"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:16.543412" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:16.543614" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:16.543908" 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-08-18T20:13:16.072294" elapsed="0.471676"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.549049" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:16.544364" elapsed="0.004746"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a98630d530&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-08-18T20:13:16.062402" elapsed="0.486793"/>
</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-08-18T20:13:16.061914" elapsed="0.487357"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-08-18T20:13:16.049945" elapsed="0.499380"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.550026" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:16.549653" 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-08-18T20:13:16.554809" 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-08-18T20:13:16.554999" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:16.554593" elapsed="0.000445"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:16.555860" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1080&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:16.555242" elapsed="0.000659"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:16.556488" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:16.556106" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:16.557177" 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-08-18T20:13:16.556799" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:16.557807" 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-08-18T20:13:16.557417" elapsed="0.000427"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:16.559069" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:16.558045" elapsed="0.001066"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.559785" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:16.559326" elapsed="0.000548"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.560505" 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-08-18T20:13:16.560085" elapsed="0.000476"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.561156" 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-08-18T20:13:16.560802" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.561636" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:16.561342" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.562139" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:16.561839" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.562628" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1080&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:16.562329" elapsed="0.000339"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:16.554125" elapsed="0.008597"/>
</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-08-18T20:13:16.564017" 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-08-18T20:13:16.563755" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:16.564458" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:16.564219" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:16.564987" level="INFO">${xml} = &lt;Element 'input' at 0x79a9855d24d0&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-08-18T20:13:16.564701" elapsed="0.000313"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:16.565414" 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-08-18T20:13:16.565155" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:16.566134" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9855d0090&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-08-18T20:13:16.565601" elapsed="0.000560"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:16.566672" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9855d0d10&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-08-18T20:13:16.566306" elapsed="0.000392"/>
</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-08-18T20:13:16.566855" elapsed="0.000260"/>
</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-08-18T20:13:16.567260" elapsed="0.000251"/>
</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-08-18T20:13:16.567659" elapsed="0.000262"/>
</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-08-18T20:13:16.568062" elapsed="0.000230"/>
</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-08-18T20:13:16.568433" elapsed="0.000231"/>
</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-08-18T20:13:16.568819" 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-08-18T20:13:16.569194" 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-08-18T20:13:16.569686" 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-08-18T20:13:16.570194" elapsed="0.000322"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:16.570945" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abffb0&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-08-18T20:13:16.570661" 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-08-18T20:13:16.571115" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:16.572027" 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-08-18T20:13:16.571498" elapsed="0.000650"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:16.572824" 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-08-18T20:13:16.572294" elapsed="0.000561"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:17.045313" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:17.045576" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:17.045896" 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-08-18T20:13:16.572982" elapsed="0.472978"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.051169" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:17.046470" elapsed="0.004820"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9855d1080&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-08-18T20:13:16.563361" elapsed="0.488072"/>
</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-08-18T20:13:16.562886" elapsed="0.488673"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-08-18T20:13:16.549474" elapsed="0.502172"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.052808" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:17.052223" 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-08-18T20:13:17.058054" 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-08-18T20:13:17.058230" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:17.057904" elapsed="0.000355"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:17.058870" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abfc90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:17.058411" elapsed="0.000486"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:17.059417" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:17.059109" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:17.059883" 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-08-18T20:13:17.059593" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:17.060323" 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-08-18T20:13:17.060056" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:17.061410" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:17.060497" elapsed="0.000943"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.061941" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:17.061600" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.062436" 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-08-18T20:13:17.062134" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.062946" 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-08-18T20:13:17.062624" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.063447" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:17.063134" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.063956" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:17.063637" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.064445" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abfc90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:17.064146" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:17.057523" elapsed="0.007015"/>
</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-08-18T20:13:17.065827" 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-08-18T20:13:17.065568" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.066263" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:17.066025" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:17.066729" level="INFO">${xml} = &lt;Element 'input' at 0x79a9857ceb60&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-08-18T20:13:17.066462" elapsed="0.000310"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:17.067244" 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-08-18T20:13:17.066949" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:17.067832" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9857cc040&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-08-18T20:13:17.067437" elapsed="0.000423"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:17.068356" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9857cd990&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-08-18T20:13:17.068002" elapsed="0.000381"/>
</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-08-18T20:13:17.068524" elapsed="0.000279"/>
</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-08-18T20:13:17.068949" 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-08-18T20:13:17.069354" 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-08-18T20:13:17.069734" elapsed="0.000252"/>
</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-08-18T20:13:17.070131" 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-08-18T20:13:17.070507" elapsed="0.000230"/>
</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-08-18T20:13:17.070897" elapsed="0.000362"/>
</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-08-18T20:13:17.071406" 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-08-18T20:13:17.072028" elapsed="0.000329"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:17.072789" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9857ce840&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-08-18T20:13:17.072508" elapsed="0.000309"/>
</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-08-18T20:13:17.072961" elapsed="0.000243"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:17.073813" 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-08-18T20:13:17.073346" elapsed="0.000548"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:17.074514" 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-08-18T20:13:17.074036" elapsed="0.000509"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:17.546081" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:17.546333" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:17.546549" 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-08-18T20:13:17.074671" elapsed="0.471935"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.551457" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:17.547052" elapsed="0.004502"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985abfc90&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-08-18T20:13:17.065187" elapsed="0.486496"/>
</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-08-18T20:13:17.064684" elapsed="0.487149"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-08-18T20:13:17.051931" elapsed="0.499986"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.553003" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:17.552419" 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-08-18T20:13:17.560310" 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-08-18T20:13:17.560442" 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-08-18T20:13:17.560172" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:17.561041" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98532c270&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:17.560619" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:17.561489" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:17.561216" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:17.561948" 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-08-18T20:13:17.561661" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:17.562383" 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-08-18T20:13:17.562120" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:17.563235" 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-08-18T20:13:17.562554" elapsed="0.000713"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.563734" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:17.563422" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.564258" 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-08-18T20:13:17.563956" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.564774" 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-08-18T20:13:17.564448" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.565274" 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-08-18T20:13:17.564977" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.565782" 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-08-18T20:13:17.565466" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.566279" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98532c270&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:17.565977" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:17.559610" elapsed="0.006764"/>
</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-08-18T20:13:17.569287" 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-08-18T20:13:17.567424" elapsed="0.001963"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:17.569792" 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-08-18T20:13:17.569530" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:17.570258" level="INFO">${xml} = &lt;Element 'input' at 0x79a9857ce7f0&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-08-18T20:13:17.569994" elapsed="0.000291"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:17.570706" 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-08-18T20:13:17.570424" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:17.571279" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9857ccf90&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-08-18T20:13:17.570914" elapsed="0.000392"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:17.571824" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9857ce160&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-08-18T20:13:17.571450" elapsed="0.000401"/>
</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-08-18T20:13:17.571994" elapsed="0.000257"/>
</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-08-18T20:13:17.572396" elapsed="0.000251"/>
</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-08-18T20:13:17.572815" 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-08-18T20:13:17.573195" elapsed="0.000229"/>
</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-08-18T20:13:17.573565" elapsed="0.000245"/>
</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-08-18T20:13:17.573952" elapsed="0.000228"/>
</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-08-18T20:13:17.574320" 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-08-18T20:13:17.574844" elapsed="0.000339"/>
</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-08-18T20:13:17.575325" elapsed="0.000320"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:17.576072" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9857cfc90&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-08-18T20:13:17.575809" elapsed="0.000289"/>
</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-08-18T20:13:17.576241" elapsed="0.000239"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:17.577089" 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-08-18T20:13:17.576622" elapsed="0.000584"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:17.577847" 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-08-18T20:13:17.577350" elapsed="0.000529"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:18.046684" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:18.046910" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:18.047140" 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-08-18T20:13:17.578007" elapsed="0.469190"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.051828" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:18.047563" elapsed="0.004328"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a98532c270&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-08-18T20:13:17.567037" elapsed="0.484935"/>
</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-08-18T20:13:17.566518" elapsed="0.485530"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-08-18T20:13:17.552136" elapsed="0.499963"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.052778" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:18.052414" 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-08-18T20:13:18.057540" 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-08-18T20:13:18.057719" 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-08-18T20:13:18.057352" elapsed="0.000428"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:18.058553" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe750&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:18.057987" elapsed="0.000605"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:18.059203" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:18.058820" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:18.059836" 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-08-18T20:13:18.059445" elapsed="0.000427"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:18.060496" 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-08-18T20:13:18.060075" elapsed="0.000457"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:18.061637" 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-08-18T20:13:18.060732" elapsed="0.000946"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.062395" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:18.061914" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.063111" 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-08-18T20:13:18.062662" elapsed="0.000490"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.063607" 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-08-18T20:13:18.063300" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.064106" 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-08-18T20:13:18.063810" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.064596" 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-08-18T20:13:18.064297" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.065103" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe750&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:18.064802" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:18.056889" elapsed="0.008310"/>
</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-08-18T20:13:18.066485" 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-08-18T20:13:18.066240" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.066945" 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-08-18T20:13:18.066682" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:18.067408" level="INFO">${xml} = &lt;Element 'input' at 0x79a985abe890&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-08-18T20:13:18.067144" elapsed="0.000290"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:18.067835" 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-08-18T20:13:18.067572" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:18.068383" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985abf290&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-08-18T20:13:18.068021" elapsed="0.000389"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:18.069094" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985abd0d0&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-08-18T20:13:18.068554" elapsed="0.000568"/>
</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-08-18T20:13:18.069264" elapsed="0.000257"/>
</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-08-18T20:13:18.069665" 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-08-18T20:13:18.070103" 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-08-18T20:13:18.070487" 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-08-18T20:13:18.070883" elapsed="0.000233"/>
</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-08-18T20:13:18.071256" elapsed="0.000228"/>
</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-08-18T20:13:18.071625" 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-08-18T20:13:18.072118" 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-08-18T20:13:18.072595" elapsed="0.000336"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:18.073340" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9857f2160&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-08-18T20:13:18.073079" elapsed="0.000287"/>
</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-08-18T20:13:18.073509" elapsed="0.000252"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:18.074368" 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-08-18T20:13:18.073904" elapsed="0.000542"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:18.075070" 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-08-18T20:13:18.074586" elapsed="0.000515"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:18.548103" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:18.548476" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:18.548808" 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-08-18T20:13:18.075227" elapsed="0.473658"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.554078" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:18.549394" elapsed="0.004783"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985abe750&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-08-18T20:13:18.065839" elapsed="0.488474"/>
</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-08-18T20:13:18.065342" elapsed="0.489095"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-08-18T20:13:18.052238" elapsed="0.502285"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.555619" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:18.555075" 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-08-18T20:13:18.560306" 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-08-18T20:13:18.560462" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:18.560158" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:18.561098" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3e70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:18.560640" elapsed="0.000486"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:18.561553" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:18.561275" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:18.562008" 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-08-18T20:13:18.561726" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:18.562444" 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-08-18T20:13:18.562179" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:18.563402" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:18.562616" elapsed="0.000817"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.563930" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:18.563592" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.564423" 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-08-18T20:13:18.564120" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.564943" 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-08-18T20:13:18.564610" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.565427" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:18.565131" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.566003" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:18.565647" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.566505" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f3e70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:18.566201" 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-08-18T20:13:18.559802" elapsed="0.006801"/>
</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-08-18T20:13:18.567894" 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-08-18T20:13:18.567635" elapsed="0.000355"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:18.568369" level="INFO">&lt;?xml version="1.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-08-18T20:13:18.568129" elapsed="0.000296"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:18.568875" level="INFO">${xml} = &lt;Element 'input' at 0x79a9855d29d0&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-08-18T20:13:18.568576" elapsed="0.000327"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:18.569306" 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-08-18T20:13:18.569044" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:18.569858" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9855d17b0&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-08-18T20:13:18.569492" elapsed="0.000393"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:18.570367" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9855d30b0&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-08-18T20:13:18.570028" elapsed="0.000366"/>
</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-08-18T20:13:18.570535" elapsed="0.000279"/>
</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-08-18T20:13:18.570961" elapsed="0.000252"/>
</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-08-18T20:13:18.571359" elapsed="0.000232"/>
</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-08-18T20:13:18.571730" elapsed="0.000248"/>
</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-08-18T20:13:18.572119" elapsed="0.000231"/>
</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-08-18T20:13:18.572514" elapsed="0.000262"/>
</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-08-18T20:13:18.572920" 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-08-18T20:13:18.573390" elapsed="0.000332"/>
</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-08-18T20:13:18.573885" elapsed="0.000363"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:18.574662" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9855d3e70&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-08-18T20:13:18.574396" 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-08-18T20:13:18.574849" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:18.575643" 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-08-18T20:13:18.575234" elapsed="0.000527"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:18.576363" 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-08-18T20:13:18.575907" elapsed="0.000488"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:19.049014" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:19.049221" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:19.049493" 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-08-18T20:13:18.576522" elapsed="0.473031"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.055111" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:19.050089" elapsed="0.005127"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9857f3e70&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-08-18T20:13:18.567253" elapsed="0.488112"/>
</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-08-18T20:13:18.566764" elapsed="0.488736"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-08-18T20:13:18.554789" elapsed="0.500805"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.056390" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:19.056041" 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-08-18T20:13:19.061288" 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-08-18T20:13:19.061503" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:19.061091" elapsed="0.000451"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:19.062335" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:19.061768" elapsed="0.000606"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:19.063022" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:19.062599" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:19.063638" 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-08-18T20:13:19.063265" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:19.064306" 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-08-18T20:13:19.063898" elapsed="0.000443"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:19.065376" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:19.064544" elapsed="0.000875"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.066231" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:19.065714" elapsed="0.000579"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.067045" 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-08-18T20:13:19.066545" elapsed="0.000541"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.067540" 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-08-18T20:13:19.067234" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.068041" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:19.067728" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.068533" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:19.068233" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.069046" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d2930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:19.068724" 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-08-18T20:13:19.060574" elapsed="0.008568"/>
</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-08-18T20:13:19.070436" 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-08-18T20:13:19.070191" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.070897" level="INFO">&lt;?xml version="1.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-08-18T20:13:19.070631" elapsed="0.000321"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:19.071358" level="INFO">${xml} = &lt;Element 'input' at 0x79a98538bc40&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-08-18T20:13:19.071091" elapsed="0.000294"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:19.071805" 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-08-18T20:13:19.071525" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:19.072344" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a98538b380&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-08-18T20:13:19.071995" elapsed="0.000377"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:19.072872" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a98538ac00&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-08-18T20:13:19.072518" 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-08-18T20:13:19.073044" elapsed="0.000262"/>
</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-08-18T20:13:19.073451" elapsed="0.000436"/>
</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-08-18T20:13:19.074072" 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-08-18T20:13:19.074463" 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-08-18T20:13:19.074861" elapsed="0.000232"/>
</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-08-18T20:13:19.075236" elapsed="0.000268"/>
</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-08-18T20:13:19.075648" 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-08-18T20:13:19.076133" elapsed="0.000311"/>
</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-08-18T20:13:19.076586" elapsed="0.000343"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:19.077339" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985911e40&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-08-18T20:13:19.077077" elapsed="0.000289"/>
</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-08-18T20:13:19.077511" elapsed="0.000254"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:19.078336" 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-08-18T20:13:19.077929" elapsed="0.000475"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:19.078992" 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-08-18T20:13:19.078547" elapsed="0.000476"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:19.550173" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:19.550390" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:19.550679" 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-08-18T20:13:19.079152" elapsed="0.471589"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.556284" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:19.551320" elapsed="0.005035"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9855d2930&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-08-18T20:13:19.069796" elapsed="0.486660"/>
</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-08-18T20:13:19.069291" elapsed="0.487381"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-08-18T20:13:19.055860" elapsed="0.500878"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.557618" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:19.557207" 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-08-18T20:13:19.562779" 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-08-18T20:13:19.563032" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:19.562541" elapsed="0.000538"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:19.563927" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913b50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:19.563297" elapsed="0.000674"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:19.564663" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:19.564214" elapsed="0.000487"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:19.565341" 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-08-18T20:13:19.564944" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:19.566136" 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-08-18T20:13:19.565662" elapsed="0.000513"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:19.567244" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:19.566385" elapsed="0.000892"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.567794" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:19.567445" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.568328" 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-08-18T20:13:19.567988" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.568872" 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-08-18T20:13:19.568525" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.569633" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:19.569111" elapsed="0.000570"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.570160" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:19.569851" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.570679" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913b50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:19.570357" 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-08-18T20:13:19.561991" elapsed="0.008815"/>
</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-08-18T20:13:19.572112" 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-08-18T20:13:19.571864" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:19.572609" level="INFO">&lt;?xml version="1.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-08-18T20:13:19.572358" elapsed="0.000351"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:19.573149" level="INFO">${xml} = &lt;Element 'input' at 0x79a985913970&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-08-18T20:13:19.572872" elapsed="0.000305"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:19.573611" 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-08-18T20:13:19.573322" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:19.574203" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9859139c0&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-08-18T20:13:19.573830" elapsed="0.000403"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:19.574761" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9859121b0&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-08-18T20:13:19.574391" elapsed="0.000399"/>
</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-08-18T20:13:19.574937" 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-08-18T20:13:19.575352" elapsed="0.000254"/>
</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-08-18T20:13:19.575772" 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-08-18T20:13:19.576168" elapsed="0.000269"/>
</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-08-18T20:13:19.576584" 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-08-18T20:13:19.576982" 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-08-18T20:13:19.577362" elapsed="0.000329"/>
</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-08-18T20:13:19.577854" elapsed="0.000341"/>
</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-08-18T20:13:19.578344" elapsed="0.000332"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:19.579124" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9896ba070&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-08-18T20:13:19.578850" 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-08-18T20:13:19.579299" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:19.580114" 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-08-18T20:13:19.579690" elapsed="0.000509"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:19.580888" 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-08-18T20:13:19.580399" elapsed="0.000521"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:20.050657" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:20.051052" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:20.051371" 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-08-18T20:13:19.581053" elapsed="0.470383"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.057255" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:20.052044" elapsed="0.005311"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985913b50&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-08-18T20:13:19.571456" elapsed="0.486040"/>
</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-08-18T20:13:19.570957" elapsed="0.486665"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-08-18T20:13:19.556977" elapsed="0.500731"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.058927" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:20.058317" 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-08-18T20:13:20.065887" 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-08-18T20:13:20.066114" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:20.065655" elapsed="0.000501"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:20.067012" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9e90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:20.066369" elapsed="0.000684"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:20.067714" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:20.067298" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:20.068336" 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-08-18T20:13:20.068040" elapsed="0.000322"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:20.068815" 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-08-18T20:13:20.068515" elapsed="0.000327"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:20.069814" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:20.068995" elapsed="0.000852"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.070360" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:20.070025" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.070883" 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-08-18T20:13:20.070557" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.071400" 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-08-18T20:13:20.071082" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.071913" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:20.071594" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.072419" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:20.072111" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.072943" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9e90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:20.072614" 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-08-18T20:13:20.065134" elapsed="0.007906"/>
</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-08-18T20:13:20.074342" 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-08-18T20:13:20.074098" elapsed="0.000353"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.074869" level="INFO">&lt;?xml version="1.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-08-18T20:13:20.074595" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:20.075362" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a104a0&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-08-18T20:13:20.075091" elapsed="0.000298"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:20.075827" 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-08-18T20:13:20.075532" elapsed="0.000350"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:20.076405" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985a101d0&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-08-18T20:13:20.076028" elapsed="0.000405"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:20.077105" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a987c2ac50&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-08-18T20:13:20.076578" elapsed="0.000555"/>
</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-08-18T20:13:20.077277" 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-08-18T20:13:20.077691" elapsed="0.000271"/>
</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-08-18T20:13:20.078112" 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-08-18T20:13:20.078516" elapsed="0.000261"/>
</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-08-18T20:13:20.078961" elapsed="0.000247"/>
</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-08-18T20:13:20.079355" 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-08-18T20:13:20.079763" 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-08-18T20:13:20.080282" elapsed="0.000360"/>
</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-08-18T20:13:20.080838" elapsed="0.000346"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:20.081618" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98570ed40&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-08-18T20:13:20.081342" 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-08-18T20:13:20.081812" elapsed="0.000257"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:20.082725" 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-08-18T20:13:20.082211" elapsed="0.000649"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:20.083507" 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-08-18T20:13:20.083007" elapsed="0.000531"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:20.552017" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:20.552263" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:20.552559" 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-08-18T20:13:20.083669" elapsed="0.468954"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.556961" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:20.553157" elapsed="0.003870"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9896b9e90&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-08-18T20:13:20.073694" elapsed="0.483431"/>
</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-08-18T20:13:20.073188" elapsed="0.484032"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-08-18T20:13:20.058021" elapsed="0.499270"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.558053" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:20.557659" 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-08-18T20:13:20.563225" 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-08-18T20:13:20.563466" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:20.563017" elapsed="0.000496"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:20.564383" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639bdd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:20.563728" elapsed="0.000696"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:20.565064" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:20.564640" elapsed="0.000462"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:20.565719" 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-08-18T20:13:20.565333" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:20.566530" 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-08-18T20:13:20.566104" elapsed="0.000465"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:20.567844" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:20.566806" elapsed="0.001072"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.568397" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:20.568051" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.568921" 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-08-18T20:13:20.568592" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.569449" 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-08-18T20:13:20.569116" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.569999" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:20.569656" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.570523" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:20.570194" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.571059" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639bdd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:20.570723" 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-08-18T20:13:20.562486" elapsed="0.008683"/>
</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-08-18T20:13:20.572529" 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-08-18T20:13:20.572275" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:20.572993" level="INFO">&lt;?xml version="1.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-08-18T20:13:20.572731" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:20.573482" level="INFO">${xml} = &lt;Element 'input' at 0x79a9856ebb00&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-08-18T20:13:20.573198" elapsed="0.000312"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:20.573958" 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-08-18T20:13:20.573654" elapsed="0.000353"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:20.574594" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9856ead40&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-08-18T20:13:20.574184" elapsed="0.000439"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:20.575167" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9856e9080&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-08-18T20:13:20.574789" 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-08-18T20:13:20.575348" 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-08-18T20:13:20.575785" elapsed="0.000269"/>
</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-08-18T20:13:20.576205" 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-08-18T20:13:20.576600" 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-08-18T20:13:20.577005" 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-08-18T20:13:20.577397" elapsed="0.000264"/>
</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-08-18T20:13:20.577829" elapsed="0.000359"/>
</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-08-18T20:13:20.578346" elapsed="0.000496"/>
</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-08-18T20:13:20.579000" elapsed="0.000353"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:20.579821" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a987c19710&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-08-18T20:13:20.579514" 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-08-18T20:13:20.580005" elapsed="0.000278"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:20.580964" 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-08-18T20:13:20.580452" elapsed="0.000601"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:20.581761" 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-08-18T20:13:20.581201" elapsed="0.000594"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:21.053120" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:21.053464" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:21.053810" 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-08-18T20:13:20.581933" elapsed="0.471942"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.058960" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:21.054343" elapsed="0.004716"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a98639bdd0&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-08-18T20:13:20.571877" elapsed="0.487321"/>
</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-08-18T20:13:20.571329" elapsed="0.487992"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-08-18T20:13:20.557463" elapsed="0.501948"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.060535" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:21.059976" 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-08-18T20:13:21.064798" 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-08-18T20:13:21.064963" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:21.064636" elapsed="0.000356"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:21.065597" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a1d3f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:21.065141" elapsed="0.000484"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:21.066081" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:21.065795" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:21.066520" 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-08-18T20:13:21.066254" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:21.066973" 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-08-18T20:13:21.066691" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:21.067921" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:21.067147" elapsed="0.000805"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.068432" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:21.068110" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.068943" 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-08-18T20:13:21.068621" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.069455" 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-08-18T20:13:21.069144" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.069966" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:21.069641" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.070456" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:21.070158" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.070965" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a1d3f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:21.070648" 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-08-18T20:13:21.064279" elapsed="0.006782"/>
</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-08-18T20:13:21.072514" 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-08-18T20:13:21.072098" elapsed="0.000518"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.073039" level="INFO">&lt;?xml version="1.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-08-18T20:13:21.072771" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:21.073518" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a1e2f0&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-08-18T20:13:21.073250" elapsed="0.000296"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:21.073971" 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-08-18T20:13:21.073688" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:21.074533" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985a1e2a0&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-08-18T20:13:21.074160" elapsed="0.000401"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:21.075085" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985838e50&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-08-18T20:13:21.074703" 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-08-18T20:13:21.075255" 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-08-18T20:13:21.075700" elapsed="0.000270"/>
</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-08-18T20:13:21.076118" elapsed="0.000234"/>
</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-08-18T20:13:21.076493" 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-08-18T20:13:21.076895" 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-08-18T20:13:21.077274" elapsed="0.000232"/>
</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-08-18T20:13:21.077649" 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-08-18T20:13:21.078167" 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-08-18T20:13:21.078655" elapsed="0.000349"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:21.079417" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98583b510&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-08-18T20:13:21.079153" 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-08-18T20:13:21.079588" elapsed="0.000259"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:21.080475" 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-08-18T20:13:21.079991" elapsed="0.000598"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:21.081284" 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-08-18T20:13:21.080763" elapsed="0.000553"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:21.553791" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:21.554027" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:21.554300" 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-08-18T20:13:21.081446" elapsed="0.472918"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.562491" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:21.554904" elapsed="0.007700"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985a1d3f0&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-08-18T20:13:21.071697" elapsed="0.491094"/>
</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-08-18T20:13:21.071207" elapsed="0.491730"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-08-18T20:13:21.059654" elapsed="0.503388"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.563614" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:21.563346" elapsed="0.000312"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:21.567110" 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-08-18T20:13:21.567292" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:21.566957" elapsed="0.000365"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:21.567904" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986355490&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:21.567474" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:21.568364" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:21.568084" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:21.568886" 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-08-18T20:13:21.568541" elapsed="0.000371"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:21.569327" 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-08-18T20:13:21.569060" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:21.570103" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:21.569501" elapsed="0.000632"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.570664" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:21.570301" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.571210" 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-08-18T20:13:21.570885" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.571725" 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-08-18T20:13:21.571404" elapsed="0.000392"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.572278" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:21.571960" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.572805" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:21.572479" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.573327" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986355490&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:21.573015" 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-08-18T20:13:21.566584" elapsed="0.006843"/>
</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-08-18T20:13:21.574790" 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-08-18T20:13:21.574529" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:21.575242" level="INFO">&lt;?xml version="1.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-08-18T20:13:21.575001" elapsed="0.000295"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:21.575702" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a376f0&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-08-18T20:13:21.575435" elapsed="0.000295"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:21.576182" 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-08-18T20:13:21.575887" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:21.576731" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985a37010&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-08-18T20:13:21.576384" elapsed="0.000389"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:21.577256" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985a37c90&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-08-18T20:13:21.576917" elapsed="0.000367"/>
</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-08-18T20:13:21.577436" 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-08-18T20:13:21.577923" 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-08-18T20:13:21.578350" elapsed="0.000381"/>
</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-08-18T20:13:21.578906" elapsed="0.000245"/>
</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-08-18T20:13:21.579308" 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-08-18T20:13:21.579704" 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-08-18T20:13:21.580105" elapsed="0.000374"/>
</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-08-18T20:13:21.580628" 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-08-18T20:13:21.581118" elapsed="0.000337"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:21.581948" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856eade0&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-08-18T20:13:21.581620" 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-08-18T20:13:21.582125" elapsed="0.000255"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:21.582966" 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-08-18T20:13:21.582529" elapsed="0.000515"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:21.583644" 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-08-18T20:13:21.583197" elapsed="0.000481"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:22.054577" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:22.054814" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:22.055076" 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-08-18T20:13:21.583859" elapsed="0.471381"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.060354" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:22.055714" elapsed="0.004739"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a986355490&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-08-18T20:13:21.574142" elapsed="0.486447"/>
</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-08-18T20:13:21.573579" elapsed="0.487136"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-08-18T20:13:21.563185" elapsed="0.497650"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.061960" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:22.061370" 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-08-18T20:13:22.067614" 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-08-18T20:13:22.067854" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:22.067411" elapsed="0.000485"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:22.068716" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eaf70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:22.068111" elapsed="0.000665"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:22.069378" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:22.068988" elapsed="0.000426"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:22.070017" 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-08-18T20:13:22.069621" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:22.070627" 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-08-18T20:13:22.070258" elapsed="0.000405"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:22.071988" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:22.070888" elapsed="0.001144"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.072966" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:22.072254" elapsed="0.000773"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.073660" 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-08-18T20:13:22.073236" elapsed="0.000481"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.074378" 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-08-18T20:13:22.073950" elapsed="0.000484"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.075073" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:22.074640" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.075831" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:22.075382" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.076411" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856eaf70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:22.076112" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:22.066903" elapsed="0.009601"/>
</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-08-18T20:13:22.077791" 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-08-18T20:13:22.077533" elapsed="0.000358"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.078272" level="INFO">&lt;?xml version="1.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-08-18T20:13:22.078030" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:22.078756" level="INFO">${xml} = &lt;Element 'input' at 0x79a9856eb5b0&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-08-18T20:13:22.078474" elapsed="0.000312"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:22.079211" 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-08-18T20:13:22.078929" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:22.079800" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9856e8b80&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-08-18T20:13:22.079399" elapsed="0.000429"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:22.080344" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9856e8f40&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-08-18T20:13:22.079978" 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-08-18T20:13:22.080513" elapsed="0.000279"/>
</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-08-18T20:13:22.080938" 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-08-18T20:13:22.081338" elapsed="0.000235"/>
</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-08-18T20:13:22.081714" 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-08-18T20:13:22.082108" 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-08-18T20:13:22.082482" elapsed="0.000231"/>
</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-08-18T20:13:22.082871" elapsed="0.000376"/>
</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-08-18T20:13:22.083390" elapsed="0.000370"/>
</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-08-18T20:13:22.083904" elapsed="0.000328"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:22.084643" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986399760&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-08-18T20:13:22.084381" elapsed="0.000289"/>
</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-08-18T20:13:22.084829" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:22.085831" 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-08-18T20:13:22.085220" elapsed="0.000736"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:22.086617" 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-08-18T20:13:22.086101" elapsed="0.000547"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:22.556319" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:22.556546" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:22.556836" 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-08-18T20:13:22.086807" elapsed="0.470092"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.562109" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:22.557410" elapsed="0.004846"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9856eaf70&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-08-18T20:13:22.077149" elapsed="0.485267"/>
</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-08-18T20:13:22.076650" elapsed="0.485892"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-08-18T20:13:22.061079" elapsed="0.501548"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.563531" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:22.563182" 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-08-18T20:13:22.568524" 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-08-18T20:13:22.568737" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:22.568323" elapsed="0.000475"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:22.569580" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a110d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:22.569008" elapsed="0.000612"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:22.570256" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:22.569850" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:22.570985" 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-08-18T20:13:22.570574" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:22.571605" 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-08-18T20:13:22.571228" elapsed="0.000414"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:22.572825" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:22.571869" elapsed="0.001001"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.573537" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:22.573091" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.574290" 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-08-18T20:13:22.573825" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.575039" 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-08-18T20:13:22.574554" elapsed="0.000551"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.575558" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:22.575263" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.576066" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:22.575762" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.576557" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a110d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:22.576258" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:22.567784" elapsed="0.008868"/>
</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-08-18T20:13:22.577987" 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-08-18T20:13:22.577706" elapsed="0.000340"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:22.578440" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:22.578190" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:22.578937" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a2e610&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-08-18T20:13:22.578646" elapsed="0.000318"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:22.579378" 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-08-18T20:13:22.579105" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:22.579968" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985b91080&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-08-18T20:13:22.579568" elapsed="0.000428"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:22.580727" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a987c2aed0&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-08-18T20:13:22.580146" elapsed="0.000624"/>
</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-08-18T20:13:22.580917" 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-08-18T20:13:22.581330" 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-08-18T20:13:22.581769" 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-08-18T20:13:22.582154" elapsed="0.000230"/>
</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-08-18T20:13:22.582525" elapsed="0.000246"/>
</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-08-18T20:13:22.582911" elapsed="0.000229"/>
</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-08-18T20:13:22.583282" elapsed="0.000329"/>
</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-08-18T20:13:22.583765" 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-08-18T20:13:22.584232" elapsed="0.000324"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:22.584984" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9896ba2f0&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-08-18T20:13:22.584703" 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-08-18T20:13:22.585154" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:22.586035" 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-08-18T20:13:22.585538" elapsed="0.000573"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:22.586715" 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-08-18T20:13:22.586253" elapsed="0.000507"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:23.057402" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:23.057880" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:23.058221" 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-08-18T20:13:22.586889" elapsed="0.471411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.063710" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:23.058868" elapsed="0.004979"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985a110d0&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-08-18T20:13:22.577315" elapsed="0.486715"/>
</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-08-18T20:13:22.576813" elapsed="0.487386"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-08-18T20:13:22.562906" elapsed="0.501385"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.065510" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:23.064880" 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-08-18T20:13:23.069423" 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-08-18T20:13:23.069598" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:23.069240" elapsed="0.000390"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:23.070247" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911760&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:23.069804" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:23.070713" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:23.070427" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:23.071222" 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-08-18T20:13:23.070906" elapsed="0.000346"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:23.071694" 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-08-18T20:13:23.071402" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:23.072810" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:23.071903" elapsed="0.000939"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.073381" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:23.073009" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.073916" 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-08-18T20:13:23.073584" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.074467" 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-08-18T20:13:23.074127" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.075007" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:23.074661" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.075544" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:23.075220" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.076110" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911760&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:23.075781" 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-08-18T20:13:23.068839" elapsed="0.007373"/>
</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-08-18T20:13:23.077627" 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-08-18T20:13:23.077359" elapsed="0.000368"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.078130" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:23.077886" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:23.078618" level="INFO">${xml} = &lt;Element 'input' at 0x79a985910040&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-08-18T20:13:23.078328" elapsed="0.000318"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:23.079084" 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-08-18T20:13:23.078806" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:23.079634" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985911b70&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-08-18T20:13:23.079273" elapsed="0.000389"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:23.080173" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985913ce0&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-08-18T20:13:23.079822" 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-08-18T20:13:23.080361" 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-08-18T20:13:23.080803" 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-08-18T20:13:23.081246" 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-08-18T20:13:23.081644" 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-08-18T20:13:23.082051" elapsed="0.000257"/>
</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-08-18T20:13:23.082452" elapsed="0.000232"/>
</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-08-18T20:13:23.082846" elapsed="0.000340"/>
</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-08-18T20:13:23.083328" elapsed="0.000322"/>
</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-08-18T20:13:23.083825" elapsed="0.000337"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:23.084599" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9853883b0&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-08-18T20:13:23.084314" 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-08-18T20:13:23.084792" elapsed="0.000267"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:23.085796" 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-08-18T20:13:23.085220" elapsed="0.000686"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:23.086537" 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-08-18T20:13:23.086055" elapsed="0.000513"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:23.557653" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:23.557970" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:23.558444" 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-08-18T20:13:23.086710" elapsed="0.471808"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.564203" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:23.559140" elapsed="0.005132"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985911760&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-08-18T20:13:23.076924" elapsed="0.487456"/>
</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-08-18T20:13:23.076373" elapsed="0.488098"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-08-18T20:13:23.064555" elapsed="0.499979"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.565366" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:23.564950" elapsed="0.000485"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:23.571620" 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-08-18T20:13:23.571848" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:23.571455" elapsed="0.000430"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:23.572542" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853885e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:23.572060" elapsed="0.000518"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:23.573105" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:23.572772" elapsed="0.000362"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:23.573712" 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-08-18T20:13:23.573312" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:23.574280" 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-08-18T20:13:23.573972" elapsed="0.000336"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:23.575314" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:23.574481" elapsed="0.000928"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.576013" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:23.575604" elapsed="0.000459"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.576610" 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-08-18T20:13:23.576256" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.577158" 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-08-18T20:13:23.576836" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.577663" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:23.577348" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.578181" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:23.577877" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.578673" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853885e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:23.578372" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:23.571035" elapsed="0.007752"/>
</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-08-18T20:13:23.580126" 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-08-18T20:13:23.579877" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:23.580565" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:23.580325" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:23.581073" level="INFO">${xml} = &lt;Element 'input' at 0x79a9855d1d50&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-08-18T20:13:23.580794" elapsed="0.000306"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:23.581537" 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-08-18T20:13:23.581240" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:23.582339" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9855d15d0&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-08-18T20:13:23.581725" elapsed="0.000643"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:23.582893" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9855d19e0&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-08-18T20:13:23.582517" 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-08-18T20:13:23.583063" 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-08-18T20:13:23.583472" 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-08-18T20:13:23.583890" elapsed="0.000278"/>
</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-08-18T20:13:23.584360" 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-08-18T20:13:23.584762" 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-08-18T20:13:23.585154" elapsed="0.000267"/>
</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-08-18T20:13:23.585565" elapsed="0.000354"/>
</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-08-18T20:13:23.586068" elapsed="0.000323"/>
</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-08-18T20:13:23.586549" elapsed="0.000361"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:23.587331" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9855d3b50&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-08-18T20:13:23.587064" 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-08-18T20:13:23.587503" elapsed="0.000284"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:23.588411" 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-08-18T20:13:23.587936" elapsed="0.000559"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:23.589173" 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-08-18T20:13:23.588647" elapsed="0.000563"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:24.058720" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:24.059128" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:24.059399" 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-08-18T20:13:23.589343" elapsed="0.470116"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.064641" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:24.059942" 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 0x79a9853885e0&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-08-18T20:13:23.579466" elapsed="0.485452"/>
</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-08-18T20:13:23.578938" elapsed="0.486120"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-08-18T20:13:23.564716" elapsed="0.500441"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.066379" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:24.065694" elapsed="0.000881"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:24.070615" 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-08-18T20:13:24.070809" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:24.070449" elapsed="0.000391"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:24.071494" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1490&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:24.071019" elapsed="0.000503"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:24.071973" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:24.071673" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:24.072415" 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-08-18T20:13:24.072148" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:24.072870" 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-08-18T20:13:24.072587" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:24.073968" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:24.073048" elapsed="0.000952"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.074506" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:24.074164" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.075025" 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-08-18T20:13:24.074699" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.075539" 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-08-18T20:13:24.075225" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.076058" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:24.075740" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.076566" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:24.076262" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.077100" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1490&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:24.076777" 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-08-18T20:13:24.070046" elapsed="0.007150"/>
</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-08-18T20:13:24.078546" 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-08-18T20:13:24.078236" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.079093" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:24.078822" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:24.079592" level="INFO">${xml} = &lt;Element 'input' at 0x79a9857f3650&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-08-18T20:13:24.079306" elapsed="0.000313"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:24.080080" 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-08-18T20:13:24.079793" elapsed="0.000335"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:24.080660" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9857f0fe0&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-08-18T20:13:24.080287" elapsed="0.000408"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:24.081255" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9857f3ec0&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-08-18T20:13:24.080865" elapsed="0.000417"/>
</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-08-18T20:13:24.081439" 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-08-18T20:13:24.081901" 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-08-18T20:13:24.082374" elapsed="0.000260"/>
</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-08-18T20:13:24.082815" 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-08-18T20:13:24.083239" elapsed="0.000272"/>
</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-08-18T20:13:24.083675" elapsed="0.000276"/>
</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-08-18T20:13:24.084097" elapsed="0.000348"/>
</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-08-18T20:13:24.084590" elapsed="0.000359"/>
</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-08-18T20:13:24.085093" elapsed="0.000438"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:24.086002" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abe930&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-08-18T20:13:24.085707" 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-08-18T20:13:24.086195" elapsed="0.000253"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:24.087081" 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-08-18T20:13:24.086594" elapsed="0.000603"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:24.087847" 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-08-18T20:13:24.087341" elapsed="0.000537"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:24.559641" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:24.559902" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:24.560192" 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-08-18T20:13:24.088006" elapsed="0.472248"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.565587" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:24.560836" elapsed="0.004851"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9857f1490&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-08-18T20:13:24.077854" elapsed="0.488009"/>
</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-08-18T20:13:24.077343" elapsed="0.488650"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-08-18T20:13:24.065410" elapsed="0.500673"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.567214" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:24.566624" 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-08-18T20:13:24.574066" 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-08-18T20:13:24.574245" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:24.573913" elapsed="0.000361"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:24.574884" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe5c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:24.574431" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:24.575351" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:24.575068" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:24.575814" 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-08-18T20:13:24.575526" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:24.576267" 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-08-18T20:13:24.575989" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:24.577195" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:24.576504" elapsed="0.000722"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.577724" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:24.577387" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.578244" 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-08-18T20:13:24.577934" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.578766" 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-08-18T20:13:24.578438" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.579254" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:24.578957" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.579757" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:24.579444" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.580274" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe5c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:24.579953" 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-08-18T20:13:24.573529" elapsed="0.006840"/>
</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-08-18T20:13:24.581663" 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-08-18T20:13:24.581418" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:24.582120" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:24.581877" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:24.582587" level="INFO">${xml} = &lt;Element 'input' at 0x79a98532dcb0&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-08-18T20:13:24.582319" elapsed="0.000294"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:24.583227" 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-08-18T20:13:24.582770" elapsed="0.000506"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:24.583792" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a98532d2b0&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-08-18T20:13:24.583421" elapsed="0.000399"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:24.584343" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a98532e3e0&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-08-18T20:13:24.583987" 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-08-18T20:13:24.584514" 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-08-18T20:13:24.584947" 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-08-18T20:13:24.585393" 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-08-18T20:13:24.585801" 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-08-18T20:13:24.586184" 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-08-18T20:13:24.586561" 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-08-18T20:13:24.586955" elapsed="0.000331"/>
</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-08-18T20:13:24.587429" 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-08-18T20:13:24.587917" elapsed="0.000327"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:24.588661" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98532e890&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-08-18T20:13:24.588396" 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-08-18T20:13:24.588849" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:24.589683" 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-08-18T20:13:24.589238" elapsed="0.000532"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:24.590373" 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-08-18T20:13:24.589916" elapsed="0.000488"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:25.060025" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:25.060270" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:25.060494" 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-08-18T20:13:24.590534" elapsed="0.470017"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.065740" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:25.060977" elapsed="0.004895"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985abe5c0&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-08-18T20:13:24.581033" elapsed="0.484978"/>
</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-08-18T20:13:24.580518" elapsed="0.485613"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-08-18T20:13:24.566332" elapsed="0.499883"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.067318" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:25.066900" elapsed="0.000484"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:25.072172" 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-08-18T20:13:25.072367" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:25.071973" elapsed="0.000435"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:25.073229" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98532fb50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:25.072615" elapsed="0.000653"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:25.073885" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:25.073478" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:25.074522" 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-08-18T20:13:25.074131" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:25.075176" 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-08-18T20:13:25.074800" elapsed="0.000413"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:25.076634" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:25.075417" elapsed="0.001261"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.077368" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:25.076920" elapsed="0.000507"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.078085" 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-08-18T20:13:25.077637" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.078858" 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-08-18T20:13:25.078377" elapsed="0.000541"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.079470" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:25.079163" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.079980" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:25.079661" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.080472" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98532fb50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:25.080173" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:25.071471" elapsed="0.009095"/>
</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-08-18T20:13:25.081864" 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-08-18T20:13:25.081606" elapsed="0.000365"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.082369" level="INFO">&lt;?xml version="1.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-08-18T20:13:25.082111" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:25.082859" level="INFO">${xml} = &lt;Element 'input' at 0x79a985320f90&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-08-18T20:13:25.082571" elapsed="0.000315"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:25.083292" 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-08-18T20:13:25.083026" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:25.083881" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9853210d0&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-08-18T20:13:25.083485" elapsed="0.000424"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:25.084422" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985322ac0&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-08-18T20:13:25.084054" 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-08-18T20:13:25.084592" elapsed="0.000279"/>
</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-08-18T20:13:25.085017" elapsed="0.000254"/>
</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-08-18T20:13:25.085418" elapsed="0.000235"/>
</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-08-18T20:13:25.085809" 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-08-18T20:13:25.086198" elapsed="0.000242"/>
</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-08-18T20:13:25.086582" 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-08-18T20:13:25.086982" elapsed="0.000351"/>
</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-08-18T20:13:25.087475" elapsed="0.002199"/>
</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-08-18T20:13:25.089838" elapsed="0.000365"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:25.090637" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98532d710&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-08-18T20:13:25.090362" 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-08-18T20:13:25.090830" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:25.091714" 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-08-18T20:13:25.091231" elapsed="0.000621"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:25.092505" 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-08-18T20:13:25.092000" elapsed="0.000535"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:25.563229" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:25.563423" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:25.563675" 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-08-18T20:13:25.092663" elapsed="0.471072"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.568713" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:25.564168" elapsed="0.004677"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a98532fb50&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-08-18T20:13:25.081213" elapsed="0.487770"/>
</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-08-18T20:13:25.080713" elapsed="0.488390"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-08-18T20:13:25.066452" elapsed="0.502735"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.570333" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:25.569772" 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-08-18T20:13:25.576146" 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-08-18T20:13:25.576297" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:25.575997" elapsed="0.000329"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:25.576931" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98532c450&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:25.576478" elapsed="0.000482"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:25.577402" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:25.577111" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:25.577921" 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-08-18T20:13:25.577582" elapsed="0.000366"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:25.578370" 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-08-18T20:13:25.578097" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:25.579350" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:25.578544" elapsed="0.000838"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.579914" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:25.579557" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.580429" 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-08-18T20:13:25.580112" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.580992" 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-08-18T20:13:25.580639" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.581507" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:25.581187" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.582062" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:25.581704" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.582575" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98532c450&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:25.582265" 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-08-18T20:13:25.575625" elapsed="0.007049"/>
</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-08-18T20:13:25.584006" 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-08-18T20:13:25.583733" elapsed="0.000341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:25.584464" level="INFO">&lt;?xml version="1.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-08-18T20:13:25.584217" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:25.585183" level="INFO">${xml} = &lt;Element 'input' at 0x79a98532f4c0&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-08-18T20:13:25.584704" elapsed="0.000508"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:25.585650" 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-08-18T20:13:25.585384" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:25.586257" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a98532f060&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-08-18T20:13:25.585864" elapsed="0.000421"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:25.586840" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985abc180&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-08-18T20:13:25.586432" elapsed="0.000436"/>
</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-08-18T20:13:25.587013" elapsed="0.000279"/>
</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-08-18T20:13:25.587442" elapsed="0.000269"/>
</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-08-18T20:13:25.587880" 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-08-18T20:13:25.588276" 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-08-18T20:13:25.588666" 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-08-18T20:13:25.589063" elapsed="0.000254"/>
</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-08-18T20:13:25.589466" elapsed="0.000393"/>
</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-08-18T20:13:25.590006" elapsed="0.000369"/>
</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-08-18T20:13:25.590525" elapsed="0.000429"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:25.591389" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9857f3650&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-08-18T20:13:25.591110" 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-08-18T20:13:25.591567" elapsed="0.000265"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:25.592489" 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-08-18T20:13:25.591982" elapsed="0.000593"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:25.593332" 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-08-18T20:13:25.592774" elapsed="0.000591"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:26.064503" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:26.064775" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:26.065056" 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-08-18T20:13:25.593496" elapsed="0.471640"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.070634" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:26.065623" elapsed="0.005110"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a98532c450&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-08-18T20:13:25.583340" elapsed="0.487569"/>
</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-08-18T20:13:25.582839" elapsed="0.488197"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-08-18T20:13:25.569422" elapsed="0.501701"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.072248" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:26.071658" 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-08-18T20:13:26.076757" 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-08-18T20:13:26.076943" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:26.076595" elapsed="0.000378"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:26.077601" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1a80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:26.077132" elapsed="0.000498"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:26.078081" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:26.077798" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:26.078583" 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-08-18T20:13:26.078311" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:26.079046" 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-08-18T20:13:26.078773" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:26.080027" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:26.079221" elapsed="0.000837"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.080552" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:26.080222" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.081083" 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-08-18T20:13:26.080760" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.081582" 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-08-18T20:13:26.081274" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.082084" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:26.081787" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.082577" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:26.082275" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.083088" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1a80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:26.082782" 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-08-18T20:13:26.076230" elapsed="0.006953"/>
</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-08-18T20:13:26.084477" 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-08-18T20:13:26.084232" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.084960" level="INFO">&lt;?xml version="1.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-08-18T20:13:26.084681" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:26.085480" level="INFO">${xml} = &lt;Element 'input' at 0x79a9855d1080&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-08-18T20:13:26.085206" elapsed="0.000302"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:26.085942" 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-08-18T20:13:26.085652" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:26.086667" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9855d3650&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-08-18T20:13:26.086137" elapsed="0.000558"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:26.087233" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9855d3290&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-08-18T20:13:26.086857" 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-08-18T20:13:26.087405" 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-08-18T20:13:26.087836" 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-08-18T20:13:26.088245" 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-08-18T20:13:26.088627" elapsed="0.000270"/>
</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-08-18T20:13:26.089046" 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-08-18T20:13:26.089422" elapsed="0.000229"/>
</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-08-18T20:13:26.089810" 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-08-18T20:13:26.090321" 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-08-18T20:13:26.090834" elapsed="0.000328"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:26.091575" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98538bce0&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-08-18T20:13:26.091311" 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-08-18T20:13:26.091761" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:26.092666" 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-08-18T20:13:26.092152" elapsed="0.000618"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:26.093475" 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-08-18T20:13:26.092955" elapsed="0.000551"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:26.564323" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:26.564538" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:26.564808" 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-08-18T20:13:26.093637" elapsed="0.471233"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.569946" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:26.565343" elapsed="0.004707"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9857f1a80&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-08-18T20:13:26.083847" elapsed="0.486361"/>
</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-08-18T20:13:26.083332" elapsed="0.487003"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-08-18T20:13:26.071370" elapsed="0.499051"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.571544" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:26.570985" 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-08-18T20:13:26.576559" 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-08-18T20:13:26.576716" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:26.576412" elapsed="0.000347"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:26.577359" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986322d90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:26.576911" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:26.577838" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:26.577542" elapsed="0.000373"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:26.578343" 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-08-18T20:13:26.578068" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:26.578979" 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-08-18T20:13:26.578517" elapsed="0.000489"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:26.579920" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:26.579155" elapsed="0.000795"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.580432" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:26.580109" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.580945" 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-08-18T20:13:26.580624" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.581452" 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-08-18T20:13:26.581146" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.581954" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:26.581639" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.582445" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:26.582144" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.582957" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986322d90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:26.582637" 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-08-18T20:13:26.576061" elapsed="0.006990"/>
</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-08-18T20:13:26.584327" 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-08-18T20:13:26.584084" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:26.584779" level="INFO">&lt;?xml version="1.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-08-18T20:13:26.584528" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:26.585316" level="INFO">${xml} = &lt;Element 'input' at 0x79a9859125c0&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-08-18T20:13:26.585001" elapsed="0.000342"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:26.585764" 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-08-18T20:13:26.585486" elapsed="0.000327"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:26.586332" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985913010&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-08-18T20:13:26.585954" elapsed="0.000405"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:26.586883" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985911990&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-08-18T20:13:26.586501" 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-08-18T20:13:26.587052" elapsed="0.000262"/>
</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-08-18T20:13:26.587460" 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-08-18T20:13:26.587882" 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-08-18T20:13:26.588264" 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-08-18T20:13:26.588640" 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-08-18T20:13:26.589040" elapsed="0.000232"/>
</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-08-18T20:13:26.589416" elapsed="0.000500"/>
</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-08-18T20:13:26.590064" 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-08-18T20:13:26.590552" elapsed="0.000346"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:26.591311" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98630fd30&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-08-18T20:13:26.591047" 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-08-18T20:13:26.591484" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:26.592369" 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-08-18T20:13:26.591885" elapsed="0.000566"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:26.593118" 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-08-18T20:13:26.592594" elapsed="0.000594"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:27.065661" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:27.065938" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:27.066179" 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-08-18T20:13:26.593320" elapsed="0.472917"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.071216" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:27.066648" elapsed="0.004665"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a986322d90&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-08-18T20:13:26.583679" elapsed="0.487768"/>
</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-08-18T20:13:26.583197" elapsed="0.488372"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-08-18T20:13:26.570666" elapsed="0.500990"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.072799" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:27.072215" 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-08-18T20:13:27.077120" 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-08-18T20:13:27.077275" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:27.076974" elapsed="0.000330"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:27.077923" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a2df30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:27.077453" elapsed="0.000499"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:27.078380" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:27.078102" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:27.078839" 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-08-18T20:13:27.078554" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:27.079285" 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-08-18T20:13:27.079016" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:27.080275" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:27.079511" elapsed="0.000796"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.080806" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:27.080466" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.081306" 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-08-18T20:13:27.081002" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.081831" 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-08-18T20:13:27.081495" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.082321" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:27.082025" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.082830" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:27.082512" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.083326" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a2df30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:27.083025" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:27.076604" elapsed="0.006817"/>
</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-08-18T20:13:27.084878" 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-08-18T20:13:27.084615" elapsed="0.000327"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.085318" level="INFO">&lt;?xml version="1.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-08-18T20:13:27.085079" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:27.085827" level="INFO">${xml} = &lt;Element 'input' at 0x79a986399d50&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-08-18T20:13:27.085539" elapsed="0.000316"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:27.086255" 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-08-18T20:13:27.085995" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:27.086835" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9863992b0&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-08-18T20:13:27.086443" elapsed="0.000448"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:27.087403" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a98639a7a0&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-08-18T20:13:27.087039" 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-08-18T20:13:27.087571" 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-08-18T20:13:27.087993" 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-08-18T20:13:27.088396" elapsed="0.000233"/>
</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-08-18T20:13:27.088785" 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-08-18T20:13:27.089168" elapsed="0.000232"/>
</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-08-18T20:13:27.089554" 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-08-18T20:13:27.089948" 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-08-18T20:13:27.090444" elapsed="0.000364"/>
</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-08-18T20:13:27.090952" elapsed="0.000326"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:27.091691" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a1ec50&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-08-18T20:13:27.091427" 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-08-18T20:13:27.091880" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:27.092775" 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-08-18T20:13:27.092269" elapsed="0.000589"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:27.093518" 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-08-18T20:13:27.093003" elapsed="0.000546"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:27.566522" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:27.566906" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:27.567160" 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-08-18T20:13:27.093677" elapsed="0.473543"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.572596" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:27.567654" elapsed="0.005041"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985a2df30&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-08-18T20:13:27.084231" elapsed="0.488636"/>
</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-08-18T20:13:27.083567" elapsed="0.489425"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-08-18T20:13:27.071924" elapsed="0.501154"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.574195" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:27.573601" 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-08-18T20:13:27.578402" 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-08-18T20:13:27.578559" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:27.578258" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:27.579206" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583ad90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:27.578766" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:27.579661" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:27.579383" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:27.580117" 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-08-18T20:13:27.579849" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:27.580551" 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-08-18T20:13:27.580288" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:27.581501" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:27.580721" elapsed="0.000811"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.582028" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:27.581691" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.582517" 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-08-18T20:13:27.582218" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.583045" 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-08-18T20:13:27.582716" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.583525" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:27.583232" elapsed="0.000337"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.584034" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:27.583715" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.584526" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583ad90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:27.584227" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:27.577903" elapsed="0.006717"/>
</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-08-18T20:13:27.585917" 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-08-18T20:13:27.585653" elapsed="0.000363"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:27.586398" level="INFO">&lt;?xml version="1.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-08-18T20:13:27.586156" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:27.586933" level="INFO">${xml} = &lt;Element 'input' at 0x79a9856e84f0&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-08-18T20:13:27.586640" elapsed="0.000321"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:27.587366" 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-08-18T20:13:27.587101" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:27.588084" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9856e92b0&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-08-18T20:13:27.587553" elapsed="0.000559"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:27.588619" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9856eb1a0&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-08-18T20:13:27.588257" elapsed="0.000389"/>
</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-08-18T20:13:27.588804" elapsed="0.000263"/>
</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-08-18T20:13:27.589213" elapsed="0.000252"/>
</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-08-18T20:13:27.589612" 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-08-18T20:13:27.590004" elapsed="0.000231"/>
</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-08-18T20:13:27.590377" elapsed="0.000242"/>
</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-08-18T20:13:27.590778" elapsed="0.000231"/>
</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-08-18T20:13:27.591156" 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-08-18T20:13:27.591647" elapsed="0.000360"/>
</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-08-18T20:13:27.592148" elapsed="0.000327"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:27.592902" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986357060&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-08-18T20:13:27.592622" 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-08-18T20:13:27.593073" elapsed="0.000243"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:27.593951" 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-08-18T20:13:27.593458" elapsed="0.000612"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:27.594750" 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-08-18T20:13:27.594218" elapsed="0.000566"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:28.067923" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:28.068121" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:28.068371" 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-08-18T20:13:27.594912" elapsed="0.473520"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.073322" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:28.068857" elapsed="0.004561"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a98583ad90&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-08-18T20:13:27.585266" elapsed="0.488286"/>
</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-08-18T20:13:27.584782" elapsed="0.488893"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-08-18T20:13:27.573316" elapsed="0.500476"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.074901" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:28.074314" 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-08-18T20:13:28.079711" 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-08-18T20:13:28.079871" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:28.079568" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:28.080496" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985323510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:28.080049" elapsed="0.000480"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:28.080976" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:28.080678" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:28.081469" 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-08-18T20:13:28.081150" elapsed="0.000346"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:28.081932" 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-08-18T20:13:28.081646" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:28.083049" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:28.082106" elapsed="0.000974"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.083563" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:28.083244" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.084084" 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-08-18T20:13:28.083770" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.084583" 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-08-18T20:13:28.084274" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.085086" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:28.084789" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.085578" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:28.085277" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.086089" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985323510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:28.085785" elapsed="0.000345"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:28.079222" elapsed="0.006963"/>
</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-08-18T20:13:28.087456" 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-08-18T20:13:28.087214" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.087912" level="INFO">&lt;?xml version="1.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-08-18T20:13:28.087656" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:28.088442" level="INFO">${xml} = &lt;Element 'input' at 0x79a985ad4e50&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-08-18T20:13:28.088174" elapsed="0.000295"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:28.088881" 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-08-18T20:13:28.088609" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:28.089451" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985ad4d10&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-08-18T20:13:28.089070" elapsed="0.000409"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:28.090011" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985ad62f0&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-08-18T20:13:28.089623" 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-08-18T20:13:28.090179" elapsed="0.000259"/>
</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-08-18T20:13:28.090583" elapsed="0.000267"/>
</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-08-18T20:13:28.090999" elapsed="0.000232"/>
</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-08-18T20:13:28.091373" elapsed="0.000230"/>
</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-08-18T20:13:28.091760" 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-08-18T20:13:28.092147" elapsed="0.000231"/>
</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-08-18T20:13:28.092519" elapsed="0.000510"/>
</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-08-18T20:13:28.093174" elapsed="0.000350"/>
</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-08-18T20:13:28.093667" elapsed="0.000346"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:28.094425" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985ad7a10&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-08-18T20:13:28.094162" elapsed="0.000290"/>
</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-08-18T20:13:28.094596" elapsed="0.000256"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:28.095501" 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-08-18T20:13:28.095002" elapsed="0.000615"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:28.096316" 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-08-18T20:13:28.095776" elapsed="0.000570"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:28.568815" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:28.569034" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:28.569278" 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-08-18T20:13:28.096474" elapsed="0.472862"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.574298" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:28.569788" elapsed="0.004606"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985323510&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-08-18T20:13:28.086832" elapsed="0.487699"/>
</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-08-18T20:13:28.086334" elapsed="0.488317"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-08-18T20:13:28.074027" elapsed="0.500709"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.575885" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:28.575298" 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-08-18T20:13:28.581237" 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-08-18T20:13:28.581392" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:28.581091" elapsed="0.000330"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:28.582029" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a70310&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:28.581566" elapsed="0.000493"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:28.582538" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:28.582253" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:28.582996" 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-08-18T20:13:28.582712" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:28.583436" 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-08-18T20:13:28.583170" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:28.584403" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:28.583611" elapsed="0.000823"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.584930" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:28.584593" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.585421" 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-08-18T20:13:28.585121" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.585931" 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-08-18T20:13:28.585608" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.586595" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:28.586129" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.587112" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:28.586805" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.587608" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a70310&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:28.587306" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:28.580725" elapsed="0.006978"/>
</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-08-18T20:13:28.588993" 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-08-18T20:13:28.588736" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:28.589428" level="INFO">&lt;?xml version="1.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-08-18T20:13:28.589192" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:28.589964" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a712b0&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-08-18T20:13:28.589660" elapsed="0.000332"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:28.590394" 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-08-18T20:13:28.590133" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:28.590982" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985a70450&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-08-18T20:13:28.590582" elapsed="0.000427"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:28.591516" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985a723e0&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-08-18T20:13:28.591153" elapsed="0.000390"/>
</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-08-18T20:13:28.591684" elapsed="0.000276"/>
</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-08-18T20:13:28.592105" elapsed="0.000249"/>
</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-08-18T20:13:28.592501" elapsed="0.000230"/>
</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-08-18T20:13:28.592888" elapsed="0.000230"/>
</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-08-18T20:13:28.593260" elapsed="0.000232"/>
</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-08-18T20:13:28.593632" 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-08-18T20:13:28.594030" 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-08-18T20:13:28.594536" elapsed="0.000371"/>
</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-08-18T20:13:28.595049" elapsed="0.000326"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:28.595804" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a68a90&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-08-18T20:13:28.595523" elapsed="0.000308"/>
</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-08-18T20:13:28.595976" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:28.598359" 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-08-18T20:13:28.596360" elapsed="0.002118"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:28.599173" 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-08-18T20:13:28.598626" elapsed="0.000578"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:29.069979" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:29.070190" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:29.070441" 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-08-18T20:13:28.599332" elapsed="0.471169"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.075403" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:29.070937" elapsed="0.004565"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985a70310&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-08-18T20:13:28.588357" elapsed="0.487281"/>
</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-08-18T20:13:28.587873" elapsed="0.487916"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-08-18T20:13:28.575011" elapsed="0.500866"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.077035" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:29.076437" 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-08-18T20:13:29.080640" 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-08-18T20:13:29.080820" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:29.080498" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:29.081437" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad4ae0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:29.081001" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:29.081957" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:29.081660" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:29.082402" 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-08-18T20:13:29.082131" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:29.082857" 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-08-18T20:13:29.082575" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:29.083813" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:29.083030" elapsed="0.000815"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.084336" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:29.084002" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.084851" 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-08-18T20:13:29.084531" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.085353" 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-08-18T20:13:29.085044" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.085853" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:29.085542" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.086353" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:29.086046" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.086870" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad4ae0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:29.086548" 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-08-18T20:13:29.080145" elapsed="0.006823"/>
</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-08-18T20:13:29.088275" 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-08-18T20:13:29.088006" elapsed="0.000338"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.088733" level="INFO">&lt;?xml version="1.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-08-18T20:13:29.088484" elapsed="0.000362"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:29.089260" level="INFO">${xml} = &lt;Element 'input' at 0x79a985ad7830&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-08-18T20:13:29.088991" elapsed="0.000297"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:29.089689" 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-08-18T20:13:29.089431" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:29.090449" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985ad6b60&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-08-18T20:13:29.089894" elapsed="0.000583"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:29.091016" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985ad7e20&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-08-18T20:13:29.090626" 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-08-18T20:13:29.091190" elapsed="0.000263"/>
</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-08-18T20:13:29.091600" elapsed="0.000270"/>
</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-08-18T20:13:29.092020" 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-08-18T20:13:29.092416" 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-08-18T20:13:29.092807" 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-08-18T20:13:29.093183" elapsed="0.000231"/>
</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-08-18T20:13:29.093558" 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-08-18T20:13:29.094078" 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-08-18T20:13:29.094577" elapsed="0.000351"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:29.095341" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985323830&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-08-18T20:13:29.095077" 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-08-18T20:13:29.095513" elapsed="0.000259"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:29.096436" 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-08-18T20:13:29.095917" elapsed="0.000640"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:29.097245" 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-08-18T20:13:29.096701" elapsed="0.000576"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:29.572340" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:29.572574" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:29.572857" 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-08-18T20:13:29.097405" elapsed="0.475516"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.578033" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:29.573367" elapsed="0.004767"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985ad4ae0&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-08-18T20:13:29.087596" elapsed="0.490677"/>
</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-08-18T20:13:29.087114" elapsed="0.491287"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-08-18T20:13:29.076110" elapsed="0.502378"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.579635" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:29.579065" 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-08-18T20:13:29.587474" 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-08-18T20:13:29.587759" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:29.587156" elapsed="0.000635"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:29.588381" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863576a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:29.587942" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:29.588918" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:29.588613" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:29.589537" 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-08-18T20:13:29.589110" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:29.590207" 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-08-18T20:13:29.589712" elapsed="0.000522"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:29.591118" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:29.590384" elapsed="0.000764"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.591626" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:29.591306" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.592139" 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-08-18T20:13:29.591835" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.592639" 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-08-18T20:13:29.592330" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.593150" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:29.592845" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.593647" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:29.593344" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.594157" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863576a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:29.593855" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:29.586322" elapsed="0.007930"/>
</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-08-18T20:13:29.595546" 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-08-18T20:13:29.595303" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:29.595998" level="INFO">&lt;?xml version="1.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-08-18T20:13:29.595758" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:29.596455" level="INFO">${xml} = &lt;Element 'input' at 0x79a987cee570&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-08-18T20:13:29.596195" elapsed="0.000287"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:29.596935" 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-08-18T20:13:29.596655" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:29.597646" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a987cec860&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-08-18T20:13:29.597123" elapsed="0.000550"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:29.598190" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a987ced2b0&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-08-18T20:13:29.597832" 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-08-18T20:13:29.598358" elapsed="0.000261"/>
</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-08-18T20:13:29.598780" 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-08-18T20:13:29.599207" 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-08-18T20:13:29.599585" elapsed="0.000246"/>
</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-08-18T20:13:29.599973" elapsed="0.000231"/>
</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-08-18T20:13:29.600343" elapsed="0.000227"/>
</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-08-18T20:13:29.600712" 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-08-18T20:13:29.601211" elapsed="0.000462"/>
</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-08-18T20:13:29.601832" elapsed="0.000326"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:29.602567" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856e9df0&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-08-18T20:13:29.602305" elapsed="0.000289"/>
</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-08-18T20:13:29.602737" elapsed="0.000269"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:29.603600" 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-08-18T20:13:29.603148" elapsed="0.000530"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:29.604317" 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-08-18T20:13:29.603833" elapsed="0.000514"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:30.073184" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:30.073472" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:30.073711" 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-08-18T20:13:29.604475" elapsed="0.469328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.078770" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:30.074234" elapsed="0.004639"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9863576a0&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-08-18T20:13:29.594909" elapsed="0.484097"/>
</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-08-18T20:13:29.594397" elapsed="0.484731"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-08-18T20:13:29.578722" elapsed="0.500492"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.080318" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:30.079729" 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-08-18T20:13:30.084820" 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-08-18T20:13:30.084975" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:30.084664" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:30.085590" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9760&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:30.085157" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:30.086072" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:30.085783" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:30.086520" 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-08-18T20:13:30.086252" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:30.086979" 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-08-18T20:13:30.086693" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:30.087934" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:30.087153" elapsed="0.000812"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.088437" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:30.088119" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.088944" 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-08-18T20:13:30.088626" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.089437" 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-08-18T20:13:30.089130" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.089943" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:30.089623" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.090437" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:30.090134" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.090961" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9760&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:30.090628" 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-08-18T20:13:30.084318" elapsed="0.006740"/>
</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-08-18T20:13:30.092513" 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-08-18T20:13:30.092268" elapsed="0.000350"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.093021" level="INFO">&lt;?xml version="1.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-08-18T20:13:30.092776" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:30.093495" level="INFO">${xml} = &lt;Element 'input' at 0x79a9856ea520&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-08-18T20:13:30.093229" elapsed="0.000294"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:30.093966" 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-08-18T20:13:30.093664" elapsed="0.000349"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:30.094539" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a98638dc60&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-08-18T20:13:30.094157" elapsed="0.000410"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:30.095098" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985a2e5c0&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-08-18T20:13:30.094711" 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-08-18T20:13:30.095266" elapsed="0.000259"/>
</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-08-18T20:13:30.095670" elapsed="0.000271"/>
</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-08-18T20:13:30.096087" elapsed="0.000233"/>
</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-08-18T20:13:30.096461" elapsed="0.000230"/>
</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-08-18T20:13:30.096847" 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-08-18T20:13:30.097222" elapsed="0.000230"/>
</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-08-18T20:13:30.097593" elapsed="0.000381"/>
</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-08-18T20:13:30.098116" 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-08-18T20:13:30.098608" elapsed="0.000342"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:30.099364" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a987cd3f60&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-08-18T20:13:30.099099" 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-08-18T20:13:30.099537" elapsed="0.000260"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:30.100446" 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-08-18T20:13:30.099942" elapsed="0.000630"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:30.101256" 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-08-18T20:13:30.100717" elapsed="0.000570"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:30.574135" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:30.574359" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:30.574605" 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-08-18T20:13:30.101414" elapsed="0.473251"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.580038" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:30.575124" elapsed="0.005015"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9856e9760&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-08-18T20:13:30.091883" elapsed="0.488394"/>
</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-08-18T20:13:30.091204" elapsed="0.489201"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-08-18T20:13:30.079443" elapsed="0.501048"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.581630" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:30.581045" 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-08-18T20:13:30.587733" 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-08-18T20:13:30.587913" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:30.587592" elapsed="0.000350"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:30.588520" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863234c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:30.588089" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:30.589049" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:30.588696" elapsed="0.000379"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:30.589509" 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-08-18T20:13:30.589237" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:30.589981" 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-08-18T20:13:30.589687" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:30.590942" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:30.590162" elapsed="0.000812"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.591455" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:30.591134" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.591966" 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-08-18T20:13:30.591647" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.592457" 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-08-18T20:13:30.592154" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.592955" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:30.592643" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.593461" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:30.593143" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.593970" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863234c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:30.593651" 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-08-18T20:13:30.587244" elapsed="0.006822"/>
</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-08-18T20:13:30.595335" 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-08-18T20:13:30.595092" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:30.595789" level="INFO">&lt;?xml version="1.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-08-18T20:13:30.595534" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:30.596261" level="INFO">${xml} = &lt;Element 'input' at 0x79a985912ac0&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-08-18T20:13:30.595989" elapsed="0.000330"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:30.596726" 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-08-18T20:13:30.596464" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:30.597328" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985911bc0&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-08-18T20:13:30.596931" elapsed="0.000424"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:30.598028" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985913b50&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-08-18T20:13:30.597498" elapsed="0.000557"/>
</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-08-18T20:13:30.598200" elapsed="0.000258"/>
</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-08-18T20:13:30.598603" elapsed="0.000268"/>
</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-08-18T20:13:30.599018" 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-08-18T20:13:30.599397" elapsed="0.000228"/>
</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-08-18T20:13:30.599781" elapsed="0.000233"/>
</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-08-18T20:13:30.600155" elapsed="0.000227"/>
</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-08-18T20:13:30.600523" elapsed="0.000363"/>
</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-08-18T20:13:30.601029" 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-08-18T20:13:30.601525" elapsed="0.000341"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:30.602281" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98538a5c0&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-08-18T20:13:30.602014" 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-08-18T20:13:30.602453" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:30.603328" 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-08-18T20:13:30.602850" elapsed="0.000558"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:30.604058" 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-08-18T20:13:30.603551" elapsed="0.000538"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:31.074912" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:31.075156" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:31.075458" 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-08-18T20:13:30.604249" elapsed="0.471271"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.080902" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:31.076072" elapsed="0.004934"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9863234c0&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-08-18T20:13:30.594692" elapsed="0.486464"/>
</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-08-18T20:13:30.594211" elapsed="0.487073"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-08-18T20:13:30.580725" elapsed="0.500648"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.082522" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:31.081959" elapsed="0.000663"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:31.087638" 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-08-18T20:13:31.087833" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:31.087484" elapsed="0.000380"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:31.088487" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d21b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:31.088017" elapsed="0.000498"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:31.088989" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:31.088669" elapsed="0.000347"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:31.089438" 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-08-18T20:13:31.089167" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:31.089899" 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-08-18T20:13:31.089612" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:31.091071" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:31.090075" elapsed="0.001083"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.091670" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:31.091334" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.092191" 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-08-18T20:13:31.091881" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.092693" 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-08-18T20:13:31.092381" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.093210" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:31.092908" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.093708" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:31.093403" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.094221" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d21b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:31.093918" 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-08-18T20:13:31.087106" elapsed="0.007211"/>
</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-08-18T20:13:31.095608" 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-08-18T20:13:31.095364" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.096109" level="INFO">&lt;?xml version="1.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-08-18T20:13:31.095851" elapsed="0.000320"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:31.096589" level="INFO">${xml} = &lt;Element 'input' at 0x79a9855d2fc0&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-08-18T20:13:31.096315" elapsed="0.000302"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:31.097095" 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-08-18T20:13:31.096810" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:31.097667" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9855d2660&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-08-18T20:13:31.097285" elapsed="0.000409"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:31.098236" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9855d0540&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-08-18T20:13:31.097857" 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-08-18T20:13:31.098406" 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-08-18T20:13:31.098866" 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-08-18T20:13:31.099275" 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-08-18T20:13:31.099654" elapsed="0.000279"/>
</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-08-18T20:13:31.100082" elapsed="0.000242"/>
</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-08-18T20:13:31.100468" elapsed="0.000254"/>
</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-08-18T20:13:31.100896" elapsed="0.000367"/>
</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-08-18T20:13:31.101411" elapsed="0.000475"/>
</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-08-18T20:13:31.102035" elapsed="0.000338"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:31.102817" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9857f1120&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-08-18T20:13:31.102526" elapsed="0.000318"/>
</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-08-18T20:13:31.102992" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:31.103898" 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-08-18T20:13:31.103387" elapsed="0.000596"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:31.104862" 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-08-18T20:13:31.104148" elapsed="0.000757"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:31.575264" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:31.575586" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:31.575866" 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-08-18T20:13:31.105072" elapsed="0.470844"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.580330" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:31.576336" elapsed="0.004072"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9855d21b0&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-08-18T20:13:31.094979" elapsed="0.485543"/>
</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-08-18T20:13:31.094465" elapsed="0.486160"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-08-18T20:13:31.081632" elapsed="0.499066"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.581658" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:31.581220" elapsed="0.000521"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:31.587526" 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-08-18T20:13:31.587729" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:31.587345" elapsed="0.000439"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:31.588552" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abdfd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:31.587983" elapsed="0.000605"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:31.589169" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:31.588814" elapsed="0.000387"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:31.589731" 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-08-18T20:13:31.589391" elapsed="0.000390"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:31.590313" 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-08-18T20:13:31.589972" elapsed="0.000373"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:31.591501" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:31.590534" elapsed="0.001005"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.592158" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:31.591762" elapsed="0.000448"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.592812" 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-08-18T20:13:31.592400" elapsed="0.000467"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.593447" 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-08-18T20:13:31.593055" elapsed="0.000442"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.594065" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:31.593681" elapsed="0.000438"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.594696" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:31.594313" elapsed="0.000462"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.595335" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abdfd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:31.594964" elapsed="0.000423"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:31.586839" elapsed="0.008613"/>
</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-08-18T20:13:31.597470" 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-08-18T20:13:31.596900" elapsed="0.000710"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:31.598128" level="INFO">&lt;?xml version="1.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-08-18T20:13:31.597816" elapsed="0.000393"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:31.598738" level="INFO">${xml} = &lt;Element 'input' at 0x79a985abe520&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-08-18T20:13:31.598398" elapsed="0.000392"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:31.599321" 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-08-18T20:13:31.598979" elapsed="0.000402"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:31.600063" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985abdbc0&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-08-18T20:13:31.599566" elapsed="0.000532"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:31.600799" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985abe8e0&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-08-18T20:13:31.600295" elapsed="0.000541"/>
</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-08-18T20:13:31.601028" elapsed="0.000333"/>
</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-08-18T20:13:31.601552" elapsed="0.000345"/>
</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-08-18T20:13:31.602093" elapsed="0.000298"/>
</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-08-18T20:13:31.602577" elapsed="0.000314"/>
</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-08-18T20:13:31.603078" elapsed="0.000295"/>
</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-08-18T20:13:31.603557" 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-08-18T20:13:31.604062" elapsed="0.000462"/>
</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-08-18T20:13:31.604715" elapsed="0.000467"/>
</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-08-18T20:13:31.605365" elapsed="0.000433"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:31.606331" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a68ae0&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-08-18T20:13:31.605994" elapsed="0.000370"/>
</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-08-18T20:13:31.606551" elapsed="0.000320"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:31.607658" 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-08-18T20:13:31.607054" elapsed="0.000769"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:31.608947" 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-08-18T20:13:31.608010" elapsed="0.001014"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:32.076789" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:32.077047" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:32.077319" 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-08-18T20:13:31.609332" elapsed="0.468049"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.082843" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:32.077900" elapsed="0.005046"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985abdfd0&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-08-18T20:13:31.596321" elapsed="0.486767"/>
</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-08-18T20:13:31.595640" elapsed="0.487572"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-08-18T20:13:31.580982" elapsed="0.502319"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.084447" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:32.083888" elapsed="0.000655"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:32.088358" 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-08-18T20:13:32.088543" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:32.088212" elapsed="0.000361"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:32.089186" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a692b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:32.088721" elapsed="0.000493"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:32.089647" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:32.089364" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:32.090098" 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-08-18T20:13:32.089835" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:32.090596" 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-08-18T20:13:32.090327" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:32.091510" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:32.090782" elapsed="0.000758"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.092046" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:32.091698" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.092535" 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-08-18T20:13:32.092235" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.093070" 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-08-18T20:13:32.092721" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.093553" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:32.093258" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.094058" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:32.093756" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.094547" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a692b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:32.094249" elapsed="0.000340"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:32.087854" elapsed="0.006788"/>
</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-08-18T20:13:32.095934" 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-08-18T20:13:32.095671" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.096380" level="INFO">&lt;?xml version="1.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-08-18T20:13:32.096136" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:32.096882" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a6a7f0&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-08-18T20:13:32.096579" elapsed="0.000330"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:32.097328" 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-08-18T20:13:32.097050" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:32.097938" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985a6a890&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-08-18T20:13:32.097548" elapsed="0.000417"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:32.098624" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985a69b20&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-08-18T20:13:32.098110" elapsed="0.000542"/>
</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-08-18T20:13:32.098815" 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-08-18T20:13:32.099232" 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-08-18T20:13:32.099643" elapsed="0.000257"/>
</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-08-18T20:13:32.100043" elapsed="0.000230"/>
</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-08-18T20:13:32.100415" elapsed="0.000232"/>
</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-08-18T20:13:32.100821" 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-08-18T20:13:32.101203" 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-08-18T20:13:32.101692" 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-08-18T20:13:32.102190" elapsed="0.000325"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:32.102951" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985aa4e00&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-08-18T20:13:32.102663" 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-08-18T20:13:32.103122" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:32.103979" 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-08-18T20:13:32.103503" elapsed="0.000556"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:32.104698" 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-08-18T20:13:32.104200" elapsed="0.000529"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:32.577935" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:32.578281" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:32.578542" 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-08-18T20:13:32.104876" elapsed="0.473727"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.583611" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:32.579077" elapsed="0.004635"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985a692b0&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-08-18T20:13:32.095287" elapsed="0.488600"/>
</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-08-18T20:13:32.094802" elapsed="0.489209"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-08-18T20:13:32.083541" elapsed="0.500557"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.585266" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:32.584624" 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-08-18T20:13:32.589387" 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-08-18T20:13:32.589552" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:32.589233" elapsed="0.000348"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:32.590200" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985aa5490&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:32.589731" elapsed="0.000497"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:32.590658" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:32.590378" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:32.591114" 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-08-18T20:13:32.590848" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:32.591551" 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-08-18T20:13:32.591285" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:32.594066" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:32.591725" elapsed="0.002373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.594584" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:32.594259" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.595100" 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-08-18T20:13:32.594793" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.595600" 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-08-18T20:13:32.595289" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.596101" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:32.595803" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.596594" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:32.596292" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.597132" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985aa5490&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:32.596801" 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-08-18T20:13:32.588869" elapsed="0.008359"/>
</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-08-18T20:13:32.598497" 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-08-18T20:13:32.598254" elapsed="0.000348"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:32.599002" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:32.598759" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:32.599467" level="INFO">${xml} = &lt;Element 'input' at 0x79a98532e700&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-08-18T20:13:32.599205" elapsed="0.000290"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:32.599911" 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-08-18T20:13:32.599635" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:32.600475" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a98532e660&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-08-18T20:13:32.600099" elapsed="0.000404"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:32.601040" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a98532dbc0&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-08-18T20:13:32.600647" 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-08-18T20:13:32.601210" elapsed="0.000264"/>
</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-08-18T20:13:32.601625" elapsed="0.000266"/>
</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-08-18T20:13:32.602038" elapsed="0.000233"/>
</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-08-18T20:13:32.602413" elapsed="0.000229"/>
</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-08-18T20:13:32.602799" elapsed="0.000232"/>
</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-08-18T20:13:32.603172" elapsed="0.000227"/>
</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-08-18T20:13:32.603540" elapsed="0.000374"/>
</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-08-18T20:13:32.604055" 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-08-18T20:13:32.604571" elapsed="0.000473"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:32.605460" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98532de90&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-08-18T20:13:32.605194" 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-08-18T20:13:32.605634" elapsed="0.000260"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:32.606528" 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-08-18T20:13:32.606039" elapsed="0.000604"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:32.607324" 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-08-18T20:13:32.606803" elapsed="0.000552"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:33.078307" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:33.078510" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:33.078802" 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-08-18T20:13:32.607482" elapsed="0.471384"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.083341" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:33.079268" elapsed="0.004134"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985aa5490&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-08-18T20:13:32.597873" elapsed="0.485617"/>
</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-08-18T20:13:32.597373" elapsed="0.486195"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-08-18T20:13:32.584336" elapsed="0.499286"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.084336" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:33.083991" elapsed="0.000407"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:33.089197" 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-08-18T20:13:33.089400" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:33.089000" elapsed="0.000439"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:33.090303" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a690d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:33.089647" elapsed="0.000696"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:33.091046" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:33.090554" elapsed="0.000529"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:33.091668" 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-08-18T20:13:33.091291" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:33.092332" 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-08-18T20:13:33.091951" elapsed="0.000417"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:33.093658" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:33.092575" elapsed="0.001159"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.094469" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:33.093998" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.095026" 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-08-18T20:13:33.094686" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.095540" 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-08-18T20:13:33.095226" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.096069" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:33.095731" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.096580" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:33.096264" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.097105" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a690d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:33.096790" 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-08-18T20:13:33.088491" elapsed="0.008712"/>
</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-08-18T20:13:33.098542" 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-08-18T20:13:33.098287" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.099015" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:33.098760" elapsed="0.000353"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:33.099698" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a69a80&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-08-18T20:13:33.099259" elapsed="0.000474"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:33.100182" 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-08-18T20:13:33.099897" elapsed="0.000333"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:33.100774" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985abe750&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-08-18T20:13:33.100373" elapsed="0.000430"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:33.101330" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985abeb60&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-08-18T20:13:33.100949" 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-08-18T20:13:33.101500" 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-08-18T20:13:33.101947" elapsed="0.000266"/>
</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-08-18T20:13:33.102362" elapsed="0.000235"/>
</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-08-18T20:13:33.102740" 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-08-18T20:13:33.103149" 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-08-18T20:13:33.103531" elapsed="0.000254"/>
</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-08-18T20:13:33.103933" 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-08-18T20:13:33.104450" elapsed="0.000371"/>
</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-08-18T20:13:33.104967" elapsed="0.000348"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:33.105779" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98538bec0&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-08-18T20:13:33.105465" 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-08-18T20:13:33.105957" elapsed="0.000263"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:33.106887" 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-08-18T20:13:33.106369" elapsed="0.000645"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:33.107707" 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-08-18T20:13:33.107172" elapsed="0.000567"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:33.579262" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:33.579464" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:33.579677" 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-08-18T20:13:33.107886" elapsed="0.471848"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.584980" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:33.580146" elapsed="0.004934"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985a690d0&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-08-18T20:13:33.097872" elapsed="0.487342"/>
</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-08-18T20:13:33.097356" elapsed="0.487979"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-08-18T20:13:33.083806" elapsed="0.501629"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.586597" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:33.585992" 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-08-18T20:13:33.592808" 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-08-18T20:13:33.592947" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:33.592650" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:33.593550" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389c60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:33.593123" elapsed="0.000458"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:33.594066" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:33.593731" elapsed="0.000362"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:33.594533" 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-08-18T20:13:33.594245" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:33.595015" 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-08-18T20:13:33.594720" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:33.595923" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:33.595189" elapsed="0.000765"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.596427" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:33.596109" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.596952" 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-08-18T20:13:33.596626" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.597452" 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-08-18T20:13:33.597143" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.597976" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:33.597656" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.598488" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:33.598168" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.599016" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389c60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:33.598692" 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-08-18T20:13:33.592300" elapsed="0.006814"/>
</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-08-18T20:13:33.600414" 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-08-18T20:13:33.600163" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:33.600884" level="INFO">&lt;?xml version="1.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-08-18T20:13:33.600616" elapsed="0.000330"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:33.601390" level="INFO">${xml} = &lt;Element 'input' at 0x79a9855d2fc0&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-08-18T20:13:33.601119" elapsed="0.000299"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:33.601841" 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-08-18T20:13:33.601561" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:33.602580" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9855d2480&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-08-18T20:13:33.602034" elapsed="0.000574"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:33.603153" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9855d3dd0&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-08-18T20:13:33.602782" elapsed="0.000398"/>
</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-08-18T20:13:33.603324" elapsed="0.000264"/>
</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-08-18T20:13:33.603767" elapsed="0.000267"/>
</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-08-18T20:13:33.604182" 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-08-18T20:13:33.604564" 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-08-18T20:13:33.604968" 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-08-18T20:13:33.605345" 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-08-18T20:13:33.605724" elapsed="0.000388"/>
</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-08-18T20:13:33.606257" elapsed="0.000370"/>
</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-08-18T20:13:33.606795" elapsed="0.000356"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:33.607575" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985913b50&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-08-18T20:13:33.607305" 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-08-18T20:13:33.607766" elapsed="0.000257"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:33.608656" 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-08-18T20:13:33.608169" elapsed="0.000570"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:33.609427" 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-08-18T20:13:33.608912" elapsed="0.000577"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:34.080050" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:34.080273" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:34.080523" 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-08-18T20:13:33.609623" elapsed="0.470963"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.086001" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:34.081060" elapsed="0.005046"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a985389c60&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-08-18T20:13:33.599774" elapsed="0.486475"/>
</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-08-18T20:13:33.599264" elapsed="0.487116"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-08-18T20:13:33.585668" elapsed="0.500803"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.087723" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:34.087058" elapsed="0.000810"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:34.091525" 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-08-18T20:13:34.091678" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:34.091370" elapsed="0.000337"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:34.092290" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859116c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:34.091872" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:34.092762" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:34.092469" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:34.093206" 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-08-18T20:13:34.092939" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:34.093642" 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-08-18T20:13:34.093379" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:34.094702" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:34.093876" elapsed="0.000858"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.095231" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:34.094909" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.095758" 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-08-18T20:13:34.095428" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.096257" 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-08-18T20:13:34.095949" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.096740" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:34.096446" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.097250" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:34.096948" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.097756" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859116c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:34.097441" 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-08-18T20:13:34.091021" elapsed="0.006833"/>
</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-08-18T20:13:34.099123" 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-08-18T20:13:34.098879" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.099585" level="INFO">&lt;?xml version="1.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-08-18T20:13:34.099318" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:34.100064" level="INFO">${xml} = &lt;Element 'input' at 0x79a985911d00&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-08-18T20:13:34.099799" elapsed="0.000292"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:34.100489" 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-08-18T20:13:34.100231" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:34.101066" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985913010&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-08-18T20:13:34.100681" elapsed="0.000413"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:34.101591" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a98630ca90&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-08-18T20:13:34.101237" elapsed="0.000381"/>
</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-08-18T20:13:34.101772" elapsed="0.000302"/>
</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-08-18T20:13:34.102220" 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-08-18T20:13:34.102626" 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-08-18T20:13:34.103022" 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-08-18T20:13:34.103407" 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-08-18T20:13:34.103803" elapsed="0.000232"/>
</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-08-18T20:13:34.104177" elapsed="0.000340"/>
</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-08-18T20:13:34.104661" elapsed="0.000475"/>
</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-08-18T20:13:34.105281" elapsed="0.000329"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:34.106040" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a987c2aa20&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-08-18T20:13:34.105772" 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-08-18T20:13:34.106211" elapsed="0.000239"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:34.107055" 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-08-18T20:13:34.106592" elapsed="0.000539"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:34.107775" 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-08-18T20:13:34.107272" elapsed="0.000535"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:34.581115" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:34.581439" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:34.581698" 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-08-18T20:13:34.107934" elapsed="0.473856"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.586903" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:34.582217" elapsed="0.004787"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9859116c0&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-08-18T20:13:34.098482" elapsed="0.488658"/>
</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-08-18T20:13:34.098000" elapsed="0.489265"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-08-18T20:13:34.086718" elapsed="0.500635"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.588470" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:34.587909" elapsed="0.000662"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:34.592504" 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-08-18T20:13:34.592677" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:34.592361" elapsed="0.000345"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:34.593281" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639ab60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:34.592871" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:34.593736" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:34.593458" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:34.594198" 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-08-18T20:13:34.593929" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:34.594638" 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-08-18T20:13:34.594371" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:34.595399" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:34.594831" elapsed="0.000599"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.595922" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:34.595587" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.596418" 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-08-18T20:13:34.596115" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.596946" 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-08-18T20:13:34.596617" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.597431" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:34.597134" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.597942" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:34.597622" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.598445" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639ab60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:34.598135" 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-08-18T20:13:34.592013" elapsed="0.006528"/>
</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-08-18T20:13:34.599841" 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-08-18T20:13:34.599578" elapsed="0.000357"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:34.600322" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:34.600076" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:34.600834" level="INFO">${xml} = &lt;Element 'input' at 0x79a985a13920&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-08-18T20:13:34.600521" elapsed="0.000341"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:34.601458" 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-08-18T20:13:34.601012" elapsed="0.000494"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:34.602022" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985a13d30&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-08-18T20:13:34.601649" elapsed="0.000402"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:34.602539" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985a132e0&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-08-18T20:13:34.602198" elapsed="0.000369"/>
</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-08-18T20:13:34.602711" elapsed="0.000280"/>
</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-08-18T20:13:34.603139" 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-08-18T20:13:34.603544" 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-08-18T20:13:34.603937" 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-08-18T20:13:34.604310" elapsed="0.000245"/>
</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-08-18T20:13:34.604699" 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-08-18T20:13:34.605097" elapsed="0.000317"/>
</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-08-18T20:13:34.605556" elapsed="0.000332"/>
</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-08-18T20:13:34.606030" elapsed="0.000326"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:34.606784" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856e9710&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-08-18T20:13:34.606503" elapsed="0.000309"/>
</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-08-18T20:13:34.606957" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:34.607769" 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-08-18T20:13:34.607348" elapsed="0.000492"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:34.608420" 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-08-18T20:13:34.607981" elapsed="0.000502"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:35.081724" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:35.081912" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:35.082134" 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-08-18T20:13:34.608626" elapsed="0.473552"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.085444" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:35.082503" elapsed="0.003008"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a98639ab60&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-08-18T20:13:34.599193" elapsed="0.486413"/>
</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-08-18T20:13:34.598688" elapsed="0.487000"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-08-18T20:13:34.587590" elapsed="0.498176"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.086515" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:35.086156" elapsed="0.000423"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:35.091387" 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-08-18T20:13:35.091606" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:35.091185" elapsed="0.000463"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:35.092472" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e89f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:35.091879" elapsed="0.000632"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:35.093128" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:35.092718" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:35.093738" 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-08-18T20:13:35.093369" elapsed="0.000425"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:35.094397" 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-08-18T20:13:35.094013" elapsed="0.000430"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:35.096180" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:35.094717" elapsed="0.001508"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.096920" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:35.096446" elapsed="0.000535"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.097624" 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-08-18T20:13:35.097193" elapsed="0.000578"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.098420" 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-08-18T20:13:35.098021" elapsed="0.000441"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.098934" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:35.098615" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.099435" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:35.099128" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.099949" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e89f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:35.099630" 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-08-18T20:13:35.090681" elapsed="0.009364"/>
</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-08-18T20:13:35.101361" 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-08-18T20:13:35.101117" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.101812" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:35.101557" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:35.102296" level="INFO">${xml} = &lt;Element 'input' at 0x79a9856e9490&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-08-18T20:13:35.102028" elapsed="0.000295"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:35.102727" 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-08-18T20:13:35.102464" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:35.103299" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a9856eb100&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-08-18T20:13:35.102933" elapsed="0.000396"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:35.103843" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a9856eba60&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-08-18T20:13:35.103472" elapsed="0.000399"/>
</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-08-18T20:13:35.104011" elapsed="0.000263"/>
</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-08-18T20:13:35.104420" 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-08-18T20:13:35.104836" 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-08-18T20:13:35.105215" 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-08-18T20:13:35.105589" elapsed="0.000248"/>
</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-08-18T20:13:35.106050" elapsed="0.000241"/>
</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-08-18T20:13:35.106435" elapsed="0.000358"/>
</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-08-18T20:13:35.106937" 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-08-18T20:13:35.107409" elapsed="0.000456"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:35.108282" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856e8310&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-08-18T20:13:35.108015" 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-08-18T20:13:35.108462" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:35.109315" 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-08-18T20:13:35.108868" elapsed="0.000522"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:35.110043" 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-08-18T20:13:35.109531" elapsed="0.000543"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:35.582874" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:35.583118" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:35.583341" 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-08-18T20:13:35.110202" elapsed="0.473198"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.588569" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:35.583859" elapsed="0.004786"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a9856e89f0&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-08-18T20:13:35.100717" elapsed="0.488017"/>
</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-08-18T20:13:35.100191" elapsed="0.488657"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-08-18T20:13:35.085931" elapsed="0.502986"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.589668" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:35.589285" elapsed="0.000481"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:35.594651" 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-08-18T20:13:35.594882" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:35.594425" elapsed="0.000499"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:35.595725" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986357970&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:35.595134" elapsed="0.000652"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:35.596409" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:35.595999" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:35.597080" 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-08-18T20:13:35.596656" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:35.597696" 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-08-18T20:13:35.597321" elapsed="0.000412"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:35.598841" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:35.597961" elapsed="0.000924"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.599690" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:35.599126" elapsed="0.000653"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.600486" 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-08-18T20:13:35.600012" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.601062" 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-08-18T20:13:35.600698" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.601582" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:35.601264" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.602116" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:35.601801" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.602646" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986357970&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:35.602319" 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-08-18T20:13:35.593922" elapsed="0.008837"/>
</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-08-18T20:13:35.604216" 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-08-18T20:13:35.603948" elapsed="0.000395"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:35.604772" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:35.604494" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:35.605259" level="INFO">${xml} = &lt;Element 'input' at 0x79a9853209a0&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-08-18T20:13:35.604982" elapsed="0.000305"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:35.605903" 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-08-18T20:13:35.605432" elapsed="0.000521"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:35.606464" level="INFO">${origflow} = &lt;Element 'flow' at 0x79a985911800&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-08-18T20:13:35.606100" elapsed="0.000392"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:35.607005" level="INFO">${updflow} = &lt;Element 'flow' at 0x79a985a37c90&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-08-18T20:13:35.606637" 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-08-18T20:13:35.607178" 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-08-18T20:13:35.607605" elapsed="0.000287"/>
</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-08-18T20:13:35.608045" 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-08-18T20:13:35.608433" 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-08-18T20:13:35.608838" 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-08-18T20:13:35.609218" elapsed="0.000241"/>
</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-08-18T20:13:35.609604" elapsed="0.000347"/>
</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-08-18T20:13:35.610094" elapsed="0.000322"/>
</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-08-18T20:13:35.610559" elapsed="0.000346"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:35.611376" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985ad4a40&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-08-18T20:13:35.611055" 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-08-18T20:13:35.611565" elapsed="0.000278"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:35.612458" 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-08-18T20:13:35.611988" elapsed="0.000638"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:35.613616" 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-08-18T20:13:35.612912" elapsed="0.000753"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:36.084591" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:36.084857" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:update-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:36.085208" 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-08-18T20:13:35.613885" elapsed="0.471412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:36.090110" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:36.085814" elapsed="0.004360"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${data}</arg>
<arg>${upddata}</arg>
<doc>Updates a flow by using update-flow operation. &lt;Element 'flow' at 0x79a986357970&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-08-18T20:13:35.603509" elapsed="0.486756"/>
</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-08-18T20:13:35.602922" elapsed="0.487423"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-08-18T20:13:35.589092" elapsed="0.501308"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-08-18T20:13:10.977869" elapsed="25.112584"/>
</for>
<kw name="Sleep" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.091313" 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-08-18T20:13:36.090673" elapsed="3.000863"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:13:39.096476" 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-08-18T20:13:39.092074" elapsed="0.004532"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:13:39.230905" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=94.174s, table=0, n_packets=18, n_bytes=1412, send_flow_rem priority=0 actions=CONTROLLER:65535
 cookie=0x1, duration=28.067s, table=2, n_packets=0, n_bytes=0, priority=1,ip,nw_dst=10.0.1.0/24 actions=drop
 cookie=0x1f, duration=16.505s, table=2, n_packets=0, n_bytes=0, priority=31,ip,nw_dst=10.0.0.0/24 actions=TABLE
 cookie=0x24, duration=16.005s, table=2, n_packets=0, n_bytes=0, priority=36,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0x26, duration=15.504s, table=2, n_packets=0, n_bytes=0, priority=38,ip,nw_dst=10.0.0.0/24 actions=drop
 cookie=0xdc, duration=3.478s, 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.983s, table=2, n_packets=0, n_bytes=0, priority=219,dl_vlan=10,dl_vlan_pcp=3 actions=clear_actions
 cookie=0xda, duration=4.484s, table=2, n_packets=0, n_bytes=0, priority=218,tun_id=0x29a0/0xfff0 actions=goto_table:3
 cookie=0xd6, duration=4.985s, 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.009s, 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.510s, 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.999s, 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.497s, 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.483s, 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.521s, 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.020s, 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.484s, 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.984s, 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.986s, 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.481s, 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.987s, 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.995s, 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.493s, 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.993s, 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.991s, 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.487s, 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.497s, 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.999s, 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.498s, 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.998s, 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.502s, table=2, n_packets=0, n_bytes=0, priority=45,metadata=0x46605a66/0xfff0ffff actions=TABLE
 cookie=0x2b, duration=15.005s, 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=17.004s, 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.508s, table=2, n_packets=0, n_bytes=0, priority=24,tun_id=0xa1f actions=drop
 cookie=0x14, duration=19.512s, table=2, n_packets=0, n_bytes=0, priority=20,metadata=0x3039/0xf0ff actions=drop
 cookie=0x13, duration=20.015s, table=2, n_packets=0, n_bytes=0, priority=19,metadata=0x3039 actions=drop
 cookie=0x12, duration=20.515s, 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.018s, 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.515s, 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.017s, 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.519s, 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.023s, 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.521s, 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.025s, 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.523s, 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.027s, 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.527s, 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.030s, table=2, n_packets=0, n_bytes=0, priority=3,dl_src=00:00:00:00:00:01 actions=TABLE
 cookie=0x2, duration=27.529s, 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-08-18T20:13:39.096977" elapsed="0.134167"/>
</kw>
<doc>Update all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-08-18T20:13:10.977498" elapsed="28.253803"/>
</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-08-18T20:13:39.244403" 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-08-18T20:13:39.244573" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.244249" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:39.245244" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebd30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:39.244767" elapsed="0.000505"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.245704" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:39.245422" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.246165" 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-08-18T20:13:39.245897" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.246603" 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-08-18T20:13:39.246337" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.247572" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:39.246791" elapsed="0.000813"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.248238" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.247815" elapsed="0.000468"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.248845" 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-08-18T20:13:39.248434" elapsed="0.000455"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.249496" 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-08-18T20:13:39.249093" elapsed="0.000448"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.250096" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.249727" elapsed="0.000450"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.250729" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:39.250329" elapsed="0.000462"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.251435" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebd30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.250978" elapsed="0.000502"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:39.243905" elapsed="0.007634"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.252114" 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-08-18T20:13:39.251692" elapsed="0.000452"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.252536" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.252293" 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-08-18T20:13:39.260355" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.260028" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.266592" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.266811" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:39.266918" 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-08-18T20:13:39.260554" elapsed="0.006390"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.267470" 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-08-18T20:13:39.267143" elapsed="0.000374"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.271682" 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-08-18T20:13:39.267700" elapsed="0.004036"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:39.273644" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:13:39.271838" elapsed="0.001888"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.271812" elapsed="0.001957"/>
</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-08-18T20:13:39.273916" 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-08-18T20:13:39.274176" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.274009" elapsed="0.000224"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:39.273993" elapsed="0.000262"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.274287" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:39.275925" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:39.275970" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:39.259651" elapsed="0.016342"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.278149" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.276529" elapsed="0.001665"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.276512" elapsed="0.001704"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.278775" 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-08-18T20:13:39.278360" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.279406" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.279011" elapsed="0.000422"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.279530" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:13:39.279764" 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-08-18T20:13:39.276204" elapsed="0.003588"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:39.279997" elapsed="0.000483"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:39.259071" elapsed="0.021475"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.288623" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.288298" elapsed="0.000353"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.298125" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.298948" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:39.299279" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:39.288800" elapsed="0.010507"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.299878" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:39.299505" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.303006" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:39.300127" elapsed="0.003528"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.305574" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.303726" elapsed="0.001897"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.303708" elapsed="0.001936"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.327177" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:39.327225" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:39.305797" elapsed="0.021452"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:39.329068" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.327329" elapsed="0.001795"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.327309" elapsed="0.001839"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:39.329182" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:39.329376" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:39.329420" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:39.287927" elapsed="0.041515"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.331651" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.330008" elapsed="0.001688"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.329989" elapsed="0.001730"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.332336" 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-08-18T20:13:39.331881" elapsed="0.000483"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.332918" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.332526" elapsed="0.000419"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.332996" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:39.333175" 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-08-18T20:13:39.329655" 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-08-18T20:13:39.333356" 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-08-18T20:13:39.287301" elapsed="0.046531"/>
</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-08-18T20:13:39.240385" elapsed="0.093505"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:39.231849" elapsed="0.102155"/>
</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-08-18T20:13:39.345686" 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-08-18T20:13:39.345839" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.345543" elapsed="0.000325"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:39.346504" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986354770&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:39.346060" elapsed="0.000472"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.347022" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:39.346681" elapsed="0.000368"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.347570" 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-08-18T20:13:39.347250" elapsed="0.000346"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.348079" 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-08-18T20:13:39.347762" elapsed="0.000342"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.349004" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:39.348296" elapsed="0.000744"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.349582" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.349197" elapsed="0.000427"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.350244" 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-08-18T20:13:39.349875" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.350830" 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-08-18T20:13:39.350441" elapsed="0.000456"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.351368" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.351050" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.351900" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:39.351568" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.352459" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986354770&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.352138" 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-08-18T20:13:39.345165" elapsed="0.007391"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.353115" 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-08-18T20:13:39.352716" elapsed="0.000429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.353536" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.353295" 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-08-18T20:13:39.361241" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.360944" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.365624" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.365807" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:39.365914" 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-08-18T20:13:39.361395" elapsed="0.004578"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.366504" 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-08-18T20:13:39.366142" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.369111" 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-08-18T20:13:39.366694" elapsed="0.002469"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:39.371003" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:39.369234" elapsed="0.001836"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.369214" elapsed="0.001880"/>
</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-08-18T20:13:39.371233" 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-08-18T20:13:39.371541" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.371360" elapsed="0.000235"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:39.371343" elapsed="0.000275"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.371651" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:39.373257" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:39.373301" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:39.360611" elapsed="0.012712"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.375595" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.373874" elapsed="0.001766"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.373856" elapsed="0.001806"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.376425" 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-08-18T20:13:39.375859" elapsed="0.000596"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.377093" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.376680" elapsed="0.000440"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.377206" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:39.377442" 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-08-18T20:13:39.373529" 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-08-18T20:13:39.377662" 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-08-18T20:13:39.360054" elapsed="0.018153"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.385944" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.385633" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.395921" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.396891" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:39.397177" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:39.386096" elapsed="0.011107"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.397694" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:39.397437" elapsed="0.000303"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.400568" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:39.397899" elapsed="0.003339"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.403034" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.401311" elapsed="0.001773"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.401292" elapsed="0.001814"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.470884" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:39.470952" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:39.403243" elapsed="0.067734"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:39.473313" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.471139" elapsed="0.002237"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.471110" elapsed="0.002292"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:39.473442" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:39.473706" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:39.473803" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:39.385266" elapsed="0.088564"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.476425" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.474573" elapsed="0.001899"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.474554" elapsed="0.001940"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.477149" 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-08-18T20:13:39.476649" elapsed="0.000527"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.477688" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.477338" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.477779" elapsed="0.000073"/>
</return>
<msg time="2026-08-18T20:13:39.478009" 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-08-18T20:13:39.474127" elapsed="0.003907"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:39.478193" 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-08-18T20:13:39.384653" elapsed="0.094024"/>
</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-08-18T20:13:39.341562" elapsed="0.137173"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:39.334269" elapsed="0.144607"/>
</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-08-18T20:13:39.490058" 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-08-18T20:13:39.490228" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.489914" elapsed="0.000342"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:39.490921" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a736f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:39.490408" elapsed="0.000542"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.491436" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:39.491103" elapsed="0.000361"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.492046" 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-08-18T20:13:39.491686" elapsed="0.000387"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.492599" 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-08-18T20:13:39.492286" elapsed="0.000339"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.493588" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:39.492830" elapsed="0.000791"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.494210" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.493835" elapsed="0.000417"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.494804" 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-08-18T20:13:39.494467" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.495322" 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-08-18T20:13:39.494996" elapsed="0.000412"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.495993" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.495559" elapsed="0.000481"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.496518" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:39.496199" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.497041" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a736f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.496711" 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-08-18T20:13:39.489566" elapsed="0.007571"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.497661" 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-08-18T20:13:39.497283" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.498139" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.497853" elapsed="0.000345"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.506660" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.506307" elapsed="0.000380"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.511713" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.511889" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:39.511988" 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-08-18T20:13:39.506870" elapsed="0.005143"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.512439" 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-08-18T20:13:39.512182" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.514570" 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-08-18T20:13:39.512623" elapsed="0.001998"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:39.516471" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:39.514690" elapsed="0.001850"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.514671" elapsed="0.001894"/>
</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-08-18T20:13:39.516706" 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-08-18T20:13:39.516983" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.516814" elapsed="0.000223"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:39.516797" elapsed="0.000264"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.517094" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:39.518741" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:39.518803" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:39.505915" elapsed="0.012912"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.520949" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.519368" elapsed="0.001627"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.519351" elapsed="0.001666"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.521552" 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-08-18T20:13:39.521158" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.522099" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.521736" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.522175" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:39.522353" 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-08-18T20:13:39.519038" elapsed="0.003340"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:39.522531" elapsed="0.000448"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:39.505229" elapsed="0.017814"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.531516" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.531219" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.541761" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.542671" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:39.542979" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:39.531669" elapsed="0.011337"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.543417" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:39.543165" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.546236" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:39.543599" elapsed="0.003303"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.548718" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.546975" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.546955" elapsed="0.001848"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.570350" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:39.570401" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:39.548985" elapsed="0.021439"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:39.572330" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.570510" elapsed="0.001878"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.570489" elapsed="0.001925"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:39.572463" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:13:39.572760" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:39.572826" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:39.530807" elapsed="0.042051"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.575927" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.573628" elapsed="0.002365"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.573603" elapsed="0.002420"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.576822" 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-08-18T20:13:39.576225" elapsed="0.000635"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.577571" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.577081" elapsed="0.000525"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.577676" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:39.577947" 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-08-18T20:13:39.573165" elapsed="0.004816"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:39.578196" elapsed="0.000541"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:39.530068" elapsed="0.048779"/>
</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-08-18T20:13:39.486266" elapsed="0.092662"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:39.479268" elapsed="0.099821"/>
</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-08-18T20:13:39.591922" 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-08-18T20:13:39.592067" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.591717" elapsed="0.000378"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:39.592734" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a71530&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:39.592286" elapsed="0.000497"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.593259" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:39.592936" elapsed="0.000350"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.593795" 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-08-18T20:13:39.593435" elapsed="0.000387"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.594314" 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-08-18T20:13:39.594008" elapsed="0.000333"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.595152" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:39.594489" elapsed="0.000731"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.595736" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.595409" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.596415" 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-08-18T20:13:39.596048" elapsed="0.000414"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.597044" 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-08-18T20:13:39.596654" elapsed="0.000432"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.597592" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.597280" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.598116" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:39.597800" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.598625" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a71530&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.598307" 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-08-18T20:13:39.591344" elapsed="0.007375"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.599379" 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-08-18T20:13:39.598922" elapsed="0.000490"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.599907" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.599596" elapsed="0.000409"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.608188" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.607885" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.613090" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.613220" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:39.613318" 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-08-18T20:13:39.608342" elapsed="0.005000"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.613768" 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-08-18T20:13:39.613499" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.615943" 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-08-18T20:13:39.613955" 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-08-18T20:13:39.617778" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:39.616064" elapsed="0.001782"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.616045" elapsed="0.001824"/>
</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-08-18T20:13:39.618009" 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-08-18T20:13:39.618272" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.618138" elapsed="0.000185"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:39.618120" elapsed="0.000226"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.618379" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:13:39.620034" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:39.620079" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:39.607539" elapsed="0.012564"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.623251" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.620730" elapsed="0.002586"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.620706" elapsed="0.002640"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.624241" 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-08-18T20:13:39.623598" elapsed="0.000680"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.625170" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.624555" elapsed="0.000651"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.625276" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:39.625573" 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-08-18T20:13:39.620311" elapsed="0.005298"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:39.625895" elapsed="0.000636"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:39.606979" elapsed="0.019641"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.636275" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.635893" elapsed="0.000409"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.645647" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.646394" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:39.646684" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:39.636430" elapsed="0.010281"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.647136" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:39.646884" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.654090" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:39.647320" elapsed="0.007764"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.657635" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.655192" elapsed="0.002670"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.655164" elapsed="0.002733"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.679508" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:39.679555" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:39.658093" elapsed="0.021485"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:39.681382" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.679670" elapsed="0.001770"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.679651" elapsed="0.001812"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:39.681497" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:39.681693" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:39.681735" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:39.635455" elapsed="0.046318"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.683926" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.682321" elapsed="0.001651"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.682304" elapsed="0.001689"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.684538" 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-08-18T20:13:39.684139" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.685160" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.684723" elapsed="0.000464"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.685238" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:13:39.685431" 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-08-18T20:13:39.681992" 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-08-18T20:13:39.685612" elapsed="0.000435"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:39.634692" elapsed="0.051418"/>
</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-08-18T20:13:39.587852" elapsed="0.098313"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:39.579516" elapsed="0.106773"/>
</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-08-18T20:13:39.700150" 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-08-18T20:13:39.700382" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.699927" elapsed="0.000504"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:39.701357" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583b1a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:39.700673" elapsed="0.000724"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.702117" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:39.701636" elapsed="0.000533"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.702899" 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-08-18T20:13:39.702429" elapsed="0.000520"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.703676" 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-08-18T20:13:39.703191" elapsed="0.000525"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.704921" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:39.703965" elapsed="0.001000"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.705651" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.705180" elapsed="0.000530"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.706464" 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-08-18T20:13:39.706002" elapsed="0.000522"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.707212" 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-08-18T20:13:39.706735" elapsed="0.000545"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.707992" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.707491" elapsed="0.000566"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.708734" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:39.708274" elapsed="0.000527"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.709284" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583b1a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.708953" 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-08-18T20:13:39.699346" elapsed="0.010037"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.709930" 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-08-18T20:13:39.709529" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.710361" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.710110" 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-08-18T20:13:39.718522" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.718207" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.724045" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.724166" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:39.724269" 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-08-18T20:13:39.718680" elapsed="0.005617"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.724705" 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-08-18T20:13:39.724456" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.726891" 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-08-18T20:13:39.724913" 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-08-18T20:13:39.728794" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:39.727012" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.726993" 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-08-18T20:13:39.729064" 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-08-18T20:13:39.729306" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.729157" elapsed="0.000204"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:39.729141" elapsed="0.000243"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.729416" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:39.731108" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:39.731153" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:39.717896" elapsed="0.013279"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.734043" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.731829" elapsed="0.002285"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.731807" elapsed="0.002351"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.735029" 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-08-18T20:13:39.734406" elapsed="0.000661"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.735851" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.735303" elapsed="0.000587"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.735961" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:13:39.736209" 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-08-18T20:13:39.731415" 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-08-18T20:13:39.736474" 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-08-18T20:13:39.717318" elapsed="0.019806"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.747130" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.746828" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.757087" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.758125" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:39.758524" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:39.747286" elapsed="0.011275"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.759195" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:39.758804" elapsed="0.000456"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.763637" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:39.759504" elapsed="0.005088"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.767146" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.764697" elapsed="0.002520"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.764669" elapsed="0.002579"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.791983" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:39.792030" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:39.767469" elapsed="0.024627"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:39.794143" elapsed="0.000062"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.792179" elapsed="0.002063"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.792160" elapsed="0.002145"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:39.794343" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:39.794542" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:39.794585" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:39.746423" elapsed="0.048184"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.796789" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.795167" elapsed="0.001667"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.795149" elapsed="0.001707"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.797397" 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-08-18T20:13:39.796999" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.798003" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.797582" elapsed="0.000449"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.798081" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:13:39.798272" 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-08-18T20:13:39.794840" 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-08-18T20:13:39.798451" 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-08-18T20:13:39.745810" elapsed="0.053107"/>
</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-08-18T20:13:39.694634" elapsed="0.104338"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:39.686563" elapsed="0.112523"/>
</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-08-18T20:13:39.809903" 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-08-18T20:13:39.810039" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.809764" elapsed="0.000304"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:39.810614" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a2f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:39.810218" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.811155" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:39.810806" elapsed="0.000376"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.811704" 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-08-18T20:13:39.811347" elapsed="0.000387"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.812263" 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-08-18T20:13:39.811942" elapsed="0.000348"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.813132" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:39.812439" elapsed="0.000724"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.813690" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.813316" elapsed="0.000420"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.814321" 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-08-18T20:13:39.813941" elapsed="0.000470"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.814955" 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-08-18T20:13:39.814568" elapsed="0.000431"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.815631" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.815264" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.816213" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:39.815888" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.816723" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a2f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.816408" 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-08-18T20:13:39.809426" elapsed="0.007410"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.817416" 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-08-18T20:13:39.817033" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.817852" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.817595" 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-08-18T20:13:39.826121" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.825800" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.830510" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.830635" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:39.830733" 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-08-18T20:13:39.826280" elapsed="0.004498"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.831211" 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-08-18T20:13:39.830939" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.833330" 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-08-18T20:13:39.831401" elapsed="0.001980"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:39.835211" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-08-18T20:13:39.833451" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.833432" 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-08-18T20:13:39.835455" elapsed="0.000095"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:39.835888" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.835676" elapsed="0.000285"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:39.835648" elapsed="0.000345"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.836038" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:13:39.838300" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:39.838362" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:39.825454" elapsed="0.012939"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.841472" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.839242" elapsed="0.002294"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.839207" elapsed="0.002359"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.842445" 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-08-18T20:13:39.841785" elapsed="0.000697"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.843474" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.842816" elapsed="0.000697"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.843583" elapsed="0.000089"/>
</return>
<msg time="2026-08-18T20:13:39.843964" 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-08-18T20:13:39.838690" elapsed="0.005311"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:39.844264" elapsed="0.000707"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:39.824866" elapsed="0.020195"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.856933" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.856337" elapsed="0.000634"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.868023" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.869125" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:39.869523" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:39.857236" elapsed="0.012325"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.870155" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:39.869800" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.874420" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:39.870472" elapsed="0.005063"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.878396" elapsed="0.000024"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.875640" elapsed="0.002827"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.875612" elapsed="0.002886"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.898397" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:39.898444" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:39.878688" elapsed="0.019779"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:39.900298" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.898549" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.898530" elapsed="0.001848"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:39.900412" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:39.900606" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:39.900649" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:39.855698" elapsed="0.044973"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.902832" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.901269" elapsed="0.001608"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.901249" elapsed="0.001650"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.903463" 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-08-18T20:13:39.903065" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.904012" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.903647" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.904086" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:39.904262" 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-08-18T20:13:39.900898" elapsed="0.003389"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:39.904439" 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-08-18T20:13:39.854589" elapsed="0.050311"/>
</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-08-18T20:13:39.806246" elapsed="0.098711"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:39.799354" elapsed="0.105712"/>
</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-08-18T20:13:39.916760" 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-08-18T20:13:39.916897" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.916613" elapsed="0.000312"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:39.917477" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a55d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:39.917073" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.918036" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:39.917700" elapsed="0.000365"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.918481" 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-08-18T20:13:39.918214" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:39.918944" 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-08-18T20:13:39.918650" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:39.919831" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:39.919116" elapsed="0.000745"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.920333" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.920013" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.921037" 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-08-18T20:13:39.920618" elapsed="0.000463"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.921554" 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-08-18T20:13:39.921232" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.922066" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.921756" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.922569" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:39.922258" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.923204" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a55d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:39.922773" elapsed="0.000474"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:39.916288" elapsed="0.007013"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.923998" 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-08-18T20:13:39.923487" elapsed="0.000544"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.924460" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:39.924216" 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-08-18T20:13:39.932771" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.932462" elapsed="0.000363"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.938464" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.938732" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:39.939045" 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-08-18T20:13:39.932955" elapsed="0.006151"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.940096" 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-08-18T20:13:39.939481" elapsed="0.000716"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.945365" 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-08-18T20:13:39.940551" elapsed="0.004939"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:39.949680" elapsed="0.000096"/>
</return>
<status status="PASS" start="2026-08-18T20:13:39.945647" elapsed="0.004287"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.945606" elapsed="0.004396"/>
</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-08-18T20:13:39.950344" elapsed="0.000054"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:39.950931" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:39.950557" elapsed="0.000497"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:39.950520" elapsed="0.000585"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.951179" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:13:39.952979" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:39.953024" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:39.932152" elapsed="0.020894"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.955219" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.953603" elapsed="0.001674"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.953585" elapsed="0.001721"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.955891" 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-08-18T20:13:39.955455" elapsed="0.000463"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.956490" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:39.956091" elapsed="0.000426"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:39.956568" elapsed="0.000034"/>
</return>
<msg time="2026-08-18T20:13:39.956774" 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-08-18T20:13:39.953265" 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-08-18T20:13:39.956965" 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-08-18T20:13:39.931589" elapsed="0.025861"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.965205" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:39.964904" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:39.975462" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:39.976520" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:39.976942" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:39.965371" elapsed="0.011613"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.977588" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:39.977218" elapsed="0.000435"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:39.984010" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:39.977878" elapsed="0.006827"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:39.986644" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:39.984802" elapsed="0.001915"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:39.984781" elapsed="0.001975"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.005621" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:40.005669" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:39.986899" elapsed="0.018793"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:40.007565" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.005794" elapsed="0.001830"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.005772" elapsed="0.001877"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:40.007684" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:40.007899" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:40.007942" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:39.964490" elapsed="0.043474"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.010104" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.008521" elapsed="0.001630"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.008501" elapsed="0.001672"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.010772" 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-08-18T20:13:40.010330" elapsed="0.000472"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.011329" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.010964" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.011409" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:40.011591" 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-08-18T20:13:40.008181" 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-08-18T20:13:40.011795" 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-08-18T20:13:39.963869" elapsed="0.048399"/>
</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-08-18T20:13:39.913014" elapsed="0.099322"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:39.905316" elapsed="0.107132"/>
</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-08-18T20:13:40.023429" 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-08-18T20:13:40.023564" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.023287" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:40.024185" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583b150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:40.023760" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.024663" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:40.024380" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.025128" 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-08-18T20:13:40.024857" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.025600" 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-08-18T20:13:40.025321" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.026543" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:40.025790" elapsed="0.000784"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.027090" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.026758" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.027663" 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-08-18T20:13:40.027337" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.028204" 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-08-18T20:13:40.027876" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.028720" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.028405" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.029278" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:40.028935" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.029828" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583b150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.029484" 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-08-18T20:13:40.022949" elapsed="0.006978"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.030472" 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-08-18T20:13:40.030076" elapsed="0.000427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.030948" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.030677" 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-08-18T20:13:40.038942" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.038620" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.043200" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.043331" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:40.043433" 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-08-18T20:13:40.039099" elapsed="0.004360"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.043900" 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-08-18T20:13:40.043623" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.046067" 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-08-18T20:13:40.044086" 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-08-18T20:13:40.047997" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:40.046224" elapsed="0.001843"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.046203" 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-08-18T20:13:40.048254" 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-08-18T20:13:40.048486" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.048352" elapsed="0.000187"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:40.048335" elapsed="0.000227"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.048595" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:40.050205" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:40.050254" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:40.038287" elapsed="0.011997"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.052981" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.050886" elapsed="0.002163"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.050868" elapsed="0.002212"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.053905" 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-08-18T20:13:40.053303" elapsed="0.000641"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.054729" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.054179" elapsed="0.000609"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.054860" elapsed="0.000044"/>
</return>
<msg time="2026-08-18T20:13:40.055125" 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-08-18T20:13:40.050533" elapsed="0.004627"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.055387" 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-08-18T20:13:40.037692" elapsed="0.018370"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.066072" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.065772" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.076302" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.077359" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:40.077781" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:40.066227" elapsed="0.011593"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.078415" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:40.078045" elapsed="0.000462"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.082826" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:40.078709" elapsed="0.005127"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.086424" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.083946" elapsed="0.002554"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.083917" elapsed="0.002614"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.110534" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:40.110582" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:40.086739" elapsed="0.023866"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:40.112446" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.110687" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.110667" elapsed="0.001863"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:40.112571" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:40.112795" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:40.112842" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:40.065377" elapsed="0.047488"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.115057" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.113442" elapsed="0.001662"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.113422" elapsed="0.001703"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.115686" 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-08-18T20:13:40.115278" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.116248" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.115892" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.116329" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:40.116510" 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-08-18T20:13:40.113083" 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-08-18T20:13:40.116691" 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-08-18T20:13:40.064755" elapsed="0.052442"/>
</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-08-18T20:13:40.019677" elapsed="0.097583"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:40.012705" elapsed="0.104675"/>
</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-08-18T20:13:40.128306" 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-08-18T20:13:40.128441" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.128170" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:40.129042" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a71030&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:40.128615" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.129493" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:40.129218" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.129954" 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-08-18T20:13:40.129666" elapsed="0.000314"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.130416" 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-08-18T20:13:40.130126" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.131320" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:40.130586" elapsed="0.000764"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.131845" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.131503" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.132423" 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-08-18T20:13:40.132084" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.132972" 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-08-18T20:13:40.132623" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.133506" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.133166" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.134042" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:40.133705" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.134582" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a71030&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.134239" 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-08-18T20:13:40.127846" elapsed="0.006846"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.135315" 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-08-18T20:13:40.134872" elapsed="0.000480"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.135805" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.135528" elapsed="0.000344"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.143906" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.143579" elapsed="0.000355"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.148738" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.148881" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:40.148980" 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-08-18T20:13:40.144072" elapsed="0.004933"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.149440" 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-08-18T20:13:40.149166" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.151622" 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-08-18T20:13:40.149635" 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-08-18T20:13:40.153522" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-08-18T20:13:40.151759" elapsed="0.001836"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.151725" 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-08-18T20:13:40.153777" 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-08-18T20:13:40.154003" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.153872" elapsed="0.000183"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:40.153855" elapsed="0.000223"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.154110" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:40.156207" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:40.156285" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:40.143248" elapsed="0.013072"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.159330" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.157100" elapsed="0.002296"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.157074" elapsed="0.002353"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.160216" 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-08-18T20:13:40.159628" elapsed="0.000629"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.161020" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.160499" elapsed="0.000560"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.161128" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:40.161392" 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-08-18T20:13:40.156614" 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-08-18T20:13:40.161661" 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-08-18T20:13:40.142653" elapsed="0.019722"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.171599" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.171297" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.182284" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.183330" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:40.183741" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:40.171774" elapsed="0.012027"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.184398" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:40.184027" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.188590" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:40.184662" elapsed="0.004884"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.192168" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.189652" elapsed="0.002588"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.189624" elapsed="0.002656"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.214501" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:40.214549" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:40.192479" elapsed="0.022094"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:40.216351" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.214651" elapsed="0.001756"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.214632" elapsed="0.001799"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:40.216465" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:40.216659" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:40.216702" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:40.170903" elapsed="0.045822"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.218866" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.217281" elapsed="0.001630"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.217263" elapsed="0.001670"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.219483" 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-08-18T20:13:40.219076" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.220035" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.219669" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.220110" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:40.220287" 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-08-18T20:13:40.216953" elapsed="0.003359"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.220464" 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-08-18T20:13:40.170214" elapsed="0.050716"/>
</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-08-18T20:13:40.124625" elapsed="0.096361"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:40.117639" elapsed="0.103456"/>
</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-08-18T20:13:40.231914" 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-08-18T20:13:40.232047" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.231777" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:40.232638" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a378d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:40.232224" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.233126" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:40.232848" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.233574" 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-08-18T20:13:40.233301" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.234042" 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-08-18T20:13:40.233760" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.234954" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:40.234214" elapsed="0.000770"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.235458" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.235138" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.236031" 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-08-18T20:13:40.235692" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.236542" 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-08-18T20:13:40.236222" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.237055" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.236730" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.237565" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:40.237247" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.238112" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a378d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.237770" 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-08-18T20:13:40.231439" elapsed="0.006771"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.238735" 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-08-18T20:13:40.238355" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.239184" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.238939" 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-08-18T20:13:40.247040" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.246727" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.251410" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.251531" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:40.251628" 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-08-18T20:13:40.247195" elapsed="0.004458"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.252083" 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-08-18T20:13:40.251831" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.254247" 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-08-18T20:13:40.252270" 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-08-18T20:13:40.256138" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:40.254367" elapsed="0.001841"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.254348" elapsed="0.001884"/>
</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-08-18T20:13:40.256372" 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-08-18T20:13:40.256592" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.256463" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:40.256447" elapsed="0.000218"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.256697" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:40.258335" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:40.258386" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:40.246414" elapsed="0.011996"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.261449" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.259217" elapsed="0.002303"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.259191" elapsed="0.002361"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.262387" 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-08-18T20:13:40.261786" elapsed="0.000642"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.263194" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.262664" elapsed="0.000566"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.263300" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:40.263554" 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-08-18T20:13:40.258710" elapsed="0.004879"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.263829" elapsed="0.000539"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:40.245852" elapsed="0.018605"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.273986" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.273641" elapsed="0.000372"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.284144" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.285184" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:40.285574" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:40.274145" elapsed="0.011466"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.286229" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:40.285871" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.292592" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:40.286498" elapsed="0.007051"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.295723" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.293656" elapsed="0.002132"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.293628" elapsed="0.002183"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.314157" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:40.314203" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:40.295948" elapsed="0.018278"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:40.315989" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.314310" elapsed="0.001734"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.314290" elapsed="0.001778"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:40.316101" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:40.316293" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:40.316335" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:40.273271" elapsed="0.043086"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.318490" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.316917" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.316899" elapsed="0.001664"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.319130" 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-08-18T20:13:40.318714" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.319666" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.319316" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.319757" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:40.319937" 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-08-18T20:13:40.316573" elapsed="0.003389"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.320115" 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-08-18T20:13:40.272636" elapsed="0.047939"/>
</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-08-18T20:13:40.228206" elapsed="0.092425"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:40.221346" elapsed="0.099411"/>
</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-08-18T20:13:40.331568" 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-08-18T20:13:40.331702" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.331433" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:40.332310" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985320180&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:40.331893" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.332781" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:40.332485" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.333222" 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-08-18T20:13:40.332957" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.333670" 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-08-18T20:13:40.333396" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.334602" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:40.333873" elapsed="0.000759"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.335129" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.334800" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.335706" 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-08-18T20:13:40.335369" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.336256" 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-08-18T20:13:40.335925" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.336778" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.336449" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.337292" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:40.336978" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.337841" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985320180&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.337489" elapsed="0.000397"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:40.331106" elapsed="0.006836"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.338482" 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-08-18T20:13:40.338095" elapsed="0.000417"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.338926" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.338660" 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-08-18T20:13:40.346723" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.346424" elapsed="0.000343"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.351614" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.351740" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:40.351862" 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-08-18T20:13:40.346898" elapsed="0.004989"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.352294" 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-08-18T20:13:40.352045" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.355269" 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-08-18T20:13:40.352495" elapsed="0.002845"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:40.357894" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:13:40.355436" elapsed="0.002553"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.355410" elapsed="0.002613"/>
</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-08-18T20:13:40.358215" 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-08-18T20:13:40.358520" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.358340" elapsed="0.000251"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:40.358318" elapsed="0.000304"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.358666" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:13:40.360966" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:40.361028" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:40.346116" elapsed="0.014944"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.363708" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.361904" elapsed="0.001867"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.361878" elapsed="0.001916"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.364344" 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-08-18T20:13:40.363942" elapsed="0.000428"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.364901" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.364528" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.364978" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:40.365159" 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-08-18T20:13:40.361369" elapsed="0.003815"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.365343" elapsed="0.000467"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:40.345538" elapsed="0.020339"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.374370" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.373962" elapsed="0.000444"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.384531" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.385558" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:40.385984" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:40.374582" elapsed="0.011439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.386594" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:40.386243" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.390698" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:40.386887" elapsed="0.004759"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.394302" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.391768" elapsed="0.002604"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.391722" elapsed="0.002681"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.420049" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:40.420096" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:40.394594" elapsed="0.025525"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:40.421985" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.420196" elapsed="0.001847"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.420178" elapsed="0.001889"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:40.422101" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:40.422301" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:40.422345" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:40.373410" elapsed="0.048957"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.424491" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.422948" elapsed="0.001588"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.422925" elapsed="0.001633"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.425137" 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-08-18T20:13:40.424700" elapsed="0.000464"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.425697" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.425323" elapsed="0.000400"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.425794" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:40.425974" 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-08-18T20:13:40.422586" 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-08-18T20:13:40.426153" 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-08-18T20:13:40.372552" elapsed="0.054051"/>
</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-08-18T20:13:40.327873" elapsed="0.098786"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:40.321013" elapsed="0.105773"/>
</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-08-18T20:13:40.437533" 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-08-18T20:13:40.437667" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.437366" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:40.438278" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985320e50&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:40.437860" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.438726" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:40.438452" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.439182" 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-08-18T20:13:40.438917" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.439617" 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-08-18T20:13:40.439353" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.440577" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:40.439860" elapsed="0.000747"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.441120" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.440792" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.441691" 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-08-18T20:13:40.441359" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.442219" 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-08-18T20:13:40.441898" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.442715" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.442409" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.443239" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:40.442923" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.443758" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985320e50&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.443430" 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-08-18T20:13:40.437043" elapsed="0.006813"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.444381" 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-08-18T20:13:40.444001" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.444812" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.444559" 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-08-18T20:13:40.452682" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.452370" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.457377" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.457500" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:40.457602" 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-08-18T20:13:40.452855" elapsed="0.004772"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.458055" 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-08-18T20:13:40.457804" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.460200" 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-08-18T20:13:40.458239" elapsed="0.002013"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:40.462146" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:40.460350" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.460302" elapsed="0.001936"/>
</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-08-18T20:13:40.462378" 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-08-18T20:13:40.462717" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.462471" elapsed="0.000345"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:40.462453" elapsed="0.000400"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.462902" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:40.465252" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:40.465315" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:40.452051" elapsed="0.013316"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.468402" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.466169" elapsed="0.002298"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.466143" elapsed="0.002357"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.469267" 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-08-18T20:13:40.468700" elapsed="0.000604"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.470043" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.469536" elapsed="0.000544"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.470148" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:40.470395" 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-08-18T20:13:40.465675" elapsed="0.004754"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.470644" 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-08-18T20:13:40.451474" elapsed="0.019814"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.480344" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.480036" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.490345" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.491938" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:40.492566" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:40.480497" elapsed="0.012129"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.493628" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:40.493010" elapsed="0.000720"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.500376" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:40.494083" elapsed="0.007827"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.503702" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.501992" elapsed="0.001773"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.501973" elapsed="0.001815"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.522546" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:40.522593" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:40.503932" elapsed="0.018684"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:40.524402" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.522694" elapsed="0.001764"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.522674" elapsed="0.001808"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:40.524515" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:40.524709" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:40.524772" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:40.479649" elapsed="0.045147"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.526922" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.525360" elapsed="0.001606"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.525342" elapsed="0.001645"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.527525" 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-08-18T20:13:40.527129" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.528070" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.527708" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.528143" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:40.528319" 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-08-18T20:13:40.525010" elapsed="0.003334"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.528496" 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-08-18T20:13:40.479039" elapsed="0.049914"/>
</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-08-18T20:13:40.433828" elapsed="0.095181"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:40.427036" elapsed="0.102082"/>
</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-08-18T20:13:40.540026" 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-08-18T20:13:40.540163" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.539887" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:40.540784" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad6840&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:40.540343" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.541260" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:40.540964" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.541723" 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-08-18T20:13:40.541447" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.542212" 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-08-18T20:13:40.541930" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.543091" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:40.542397" elapsed="0.000725"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.543619" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.543276" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.544195" 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-08-18T20:13:40.543872" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.544718" 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-08-18T20:13:40.544387" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.545278" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.544928" elapsed="0.000399"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.545822" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:40.545486" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.546361" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad6840&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.546033" 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-08-18T20:13:40.539532" elapsed="0.006944"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.547068" 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-08-18T20:13:40.546636" elapsed="0.000464"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.547520" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:40.547252" 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-08-18T20:13:40.555530" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.555224" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.560358" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.560480" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:40.560580" 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-08-18T20:13:40.555694" elapsed="0.004912"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.561115" 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-08-18T20:13:40.560820" elapsed="0.000344"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.563298" 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-08-18T20:13:40.561310" 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-08-18T20:13:40.565203" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:40.563425" elapsed="0.001848"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.563405" 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-08-18T20:13:40.565475" 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-08-18T20:13:40.565703" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.565571" elapsed="0.000207"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:40.565554" elapsed="0.000249"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.565837" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:40.567432" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:40.567476" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:40.554906" elapsed="0.012592"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.569654" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.568063" elapsed="0.001671"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.568044" elapsed="0.001763"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.570583" 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-08-18T20:13:40.570026" elapsed="0.000594"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.571375" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.570875" elapsed="0.000537"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.571482" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:13:40.571733" 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-08-18T20:13:40.567707" elapsed="0.004086"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.572023" 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-08-18T20:13:40.554322" elapsed="0.018330"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.583018" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.582700" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.593962" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.595644" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:40.596334" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:40.583182" elapsed="0.013215"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.597418" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:40.596790" elapsed="0.000733"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.604318" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:40.597882" elapsed="0.007130"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.606839" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.605087" elapsed="0.001804"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.605068" elapsed="0.001846"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.626221" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:40.626284" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:40.607050" elapsed="0.019258"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:40.628218" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.626391" elapsed="0.001886"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.626370" elapsed="0.001933"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:40.628337" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:40.628537" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:40.628581" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:40.582329" elapsed="0.046274"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.630784" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.629222" elapsed="0.001615"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.629203" elapsed="0.001658"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.631414" 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-08-18T20:13:40.631007" elapsed="0.000434"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.631987" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.631606" elapsed="0.000408"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.632064" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:40.632246" 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-08-18T20:13:40.628865" elapsed="0.003406"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.632428" 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-08-18T20:13:40.581660" elapsed="0.051257"/>
</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-08-18T20:13:40.536203" elapsed="0.096774"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:40.529379" elapsed="0.103712"/>
</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-08-18T20:13:40.644102" 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-08-18T20:13:40.644242" 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-08-18T20:13:40.643955" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:40.644870" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a73920&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:40.644422" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.645342" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:40.645057" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.645809" 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-08-18T20:13:40.645519" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.646266" 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-08-18T20:13:40.645984" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.647126" 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-08-18T20:13:40.646441" elapsed="0.000717"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.647648" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.647318" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.648248" 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-08-18T20:13:40.647913" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.648788" 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-08-18T20:13:40.648443" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.649329" 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-08-18T20:13:40.649017" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.649867" 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-08-18T20:13:40.649520" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.650377" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a73920&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.650061" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:40.643597" elapsed="0.006876"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.651012" 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-08-18T20:13:40.650616" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.651434" 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-08-18T20:13:40.651190" 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-08-18T20:13:40.659327" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.659018" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.663581" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.663705" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:40.663822" 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-08-18T20:13:40.659481" elapsed="0.004367"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.664259" 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-08-18T20:13:40.664008" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.666457" 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-08-18T20:13:40.664444" elapsed="0.002076"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:40.668382" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:40.666606" elapsed="0.001844"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.666582" 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-08-18T20:13:40.668650" 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-08-18T20:13:40.668902" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.668754" elapsed="0.000200"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:40.668726" elapsed="0.000251"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.669009" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:40.670669" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:40.670714" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:40.658687" elapsed="0.012050"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.672927" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.671291" elapsed="0.001683"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.671273" elapsed="0.001723"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.673590" 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-08-18T20:13:40.673141" elapsed="0.000495"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.674387" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.673898" elapsed="0.000526"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.674494" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:40.674782" 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-08-18T20:13:40.670962" 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-08-18T20:13:40.675048" 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-08-18T20:13:40.658126" elapsed="0.017563"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.686488" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.686195" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.697257" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.698921" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:40.699539" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:40.686642" elapsed="0.012955"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.700562" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:40.699999" elapsed="0.000664"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.706352" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:40.701035" elapsed="0.006002"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.708939" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.707110" elapsed="0.001879"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.707091" elapsed="0.001919"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.728387" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:40.728434" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:40.709147" elapsed="0.019311"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:40.730314" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.728535" elapsed="0.001835"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.728516" elapsed="0.001878"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:40.730427" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:40.730624" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:40.730678" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:40.685824" elapsed="0.044877"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.732872" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.731268" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.731249" elapsed="0.001690"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.733482" 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-08-18T20:13:40.733085" elapsed="0.000423"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.734035" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.733668" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.734109" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:40.734286" 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-08-18T20:13:40.730933" elapsed="0.003377"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.734463" 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-08-18T20:13:40.684993" elapsed="0.049938"/>
</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-08-18T20:13:40.640325" elapsed="0.094662"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:40.633348" elapsed="0.101751"/>
</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-08-18T20:13:40.745907" 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-08-18T20:13:40.746040" 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-08-18T20:13:40.745770" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:40.746638" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad5490&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:40.746217" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.747108" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:40.746831" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.747549" 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-08-18T20:13:40.747283" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.748003" 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-08-18T20:13:40.747720" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.748856" 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-08-18T20:13:40.748176" elapsed="0.000712"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.749367" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.749042" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.749933" 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-08-18T20:13:40.749599" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.750444" 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-08-18T20:13:40.750122" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.750961" 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-08-18T20:13:40.750631" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.751492" 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-08-18T20:13:40.751168" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.752041" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad5490&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.751689" 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-08-18T20:13:40.745424" elapsed="0.006717"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.752717" 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-08-18T20:13:40.752293" elapsed="0.000470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.753162" 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-08-18T20:13:40.752914" 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-08-18T20:13:40.761033" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.760708" elapsed="0.000354"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.765704" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.765845" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:40.765943" 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-08-18T20:13:40.761190" elapsed="0.004779"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.766373" 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-08-18T20:13:40.766124" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.768535" 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-08-18T20:13:40.766564" elapsed="0.002022"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:40.770391" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:40.768656" elapsed="0.001804"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.768637" elapsed="0.001853"/>
</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-08-18T20:13:40.770691" 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-08-18T20:13:40.770935" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.770801" elapsed="0.000196"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:40.770783" elapsed="0.000238"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.771053" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:40.772710" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:40.772774" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:40.760382" elapsed="0.012417"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.775467" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.773334" elapsed="0.002197"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.773316" elapsed="0.002246"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.776335" 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-08-18T20:13:40.775779" elapsed="0.000592"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.777160" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.776642" elapsed="0.000554"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.777264" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:40.777515" 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-08-18T20:13:40.773010" elapsed="0.004539"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.777780" elapsed="0.000530"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:40.759830" elapsed="0.018568"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.789483" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.789040" elapsed="0.000489"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.798478" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.800183" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:40.800903" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:40.789701" elapsed="0.011264"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.801969" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:40.801357" elapsed="0.000714"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.808931" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:40.802412" elapsed="0.007623"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.811876" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.810109" elapsed="0.001817"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.810090" elapsed="0.001858"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.830045" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:40.830093" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:40.812086" elapsed="0.018037"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:40.831996" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.830209" elapsed="0.001844"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.830189" elapsed="0.001888"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:40.832112" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:40.832316" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:40.832384" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:40.788486" elapsed="0.043921"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.834578" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.832968" elapsed="0.001655"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.832950" elapsed="0.001703"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.835270" 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-08-18T20:13:40.834824" elapsed="0.000479"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.835866" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.835481" elapsed="0.000411"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.835943" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:13:40.836129" 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-08-18T20:13:40.832623" elapsed="0.003533"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.836343" 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-08-18T20:13:40.787554" elapsed="0.049279"/>
</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-08-18T20:13:40.742203" elapsed="0.094687"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:40.735355" elapsed="0.101651"/>
</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-08-18T20:13:40.847855" 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-08-18T20:13:40.847994" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:40.847697" elapsed="0.000328"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:40.848600" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ead90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:40.848174" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.849091" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:40.848802" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.849578" 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-08-18T20:13:40.849291" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.850043" 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-08-18T20:13:40.849771" elapsed="0.000300"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.850830" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:40.850223" elapsed="0.000638"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.851347" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.851014" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.851933" 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-08-18T20:13:40.851586" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.852479" 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-08-18T20:13:40.852130" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.853014" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:40.852677" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.853537" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:40.853209" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.854070" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ead90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.853732" 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-08-18T20:13:40.847359" elapsed="0.006814"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.854720" 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-08-18T20:13:40.854331" elapsed="0.000441"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.855164" level="INFO">&lt;?xml version="1.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-08-18T20:13:40.854923" 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-08-18T20:13:40.863056" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.862726" elapsed="0.000357"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.867316" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.867448" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:40.867546" 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-08-18T20:13:40.863211" elapsed="0.004367"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.868029" 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-08-18T20:13:40.867764" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.870249" 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-08-18T20:13:40.868221" elapsed="0.002086"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:40.872183" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:40.870382" elapsed="0.001895"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.870358" elapsed="0.001948"/>
</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-08-18T20:13:40.872469" 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-08-18T20:13:40.872728" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.872560" elapsed="0.000240"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:40.872544" elapsed="0.000280"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.872856" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:40.874462" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:40.874506" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:40.862414" elapsed="0.012114"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.876660" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.875086" elapsed="0.001639"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.875068" elapsed="0.001720"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.877563" 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-08-18T20:13:40.877014" elapsed="0.000586"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.878325" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.877840" elapsed="0.000521"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.878429" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:40.878675" 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-08-18T20:13:40.874736" elapsed="0.003974"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.878946" elapsed="0.000528"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:40.861843" elapsed="0.017717"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.889863" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.889556" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.898382" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.899409" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:40.899818" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:40.890015" elapsed="0.009841"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.900449" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:40.900076" elapsed="0.000440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.906761" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:40.900710" elapsed="0.006951"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.909860" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.907780" elapsed="0.002130"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.907735" elapsed="0.002197"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.927533" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:40.927579" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:40.910069" elapsed="0.017533"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:40.929458" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.927680" elapsed="0.001834"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.927662" elapsed="0.001876"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:40.929572" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:40.929783" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:40.929827" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:40.889187" elapsed="0.040662"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.931967" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.930395" elapsed="0.001617"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.930377" elapsed="0.001657"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.932599" 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-08-18T20:13:40.932197" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.933152" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.932800" elapsed="0.000378"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.933227" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:40.933403" 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-08-18T20:13:40.930066" elapsed="0.003362"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.933580" 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-08-18T20:13:40.888415" elapsed="0.045633"/>
</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-08-18T20:13:40.844098" elapsed="0.090005"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:40.837265" elapsed="0.096947"/>
</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-08-18T20:13:40.944984" 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-08-18T20:13:40.945116" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:40.944846" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:40.945674" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e85e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:40.945294" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.946141" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:40.945867" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.946578" 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-08-18T20:13:40.946314" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:40.947032" 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-08-18T20:13:40.946763" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:40.947766" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:40.947203" elapsed="0.000595"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.948293" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.947953" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.948862" 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-08-18T20:13:40.948523" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.949380" 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-08-18T20:13:40.949057" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.949894" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:40.949570" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.950402" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:40.950089" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.950929" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e85e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:40.950599" 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-08-18T20:13:40.944504" elapsed="0.006520"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.951547" 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-08-18T20:13:40.951168" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.951980" level="INFO">&lt;?xml version="1.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-08-18T20:13:40.951724" 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-08-18T20:13:40.959774" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.959460" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.964113" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.964231" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:40.964328" 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-08-18T20:13:40.959932" elapsed="0.004422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.964791" 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-08-18T20:13:40.964516" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.966919" 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-08-18T20:13:40.964978" elapsed="0.001992"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:40.969051" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:13:40.967040" elapsed="0.002106"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.967021" elapsed="0.002160"/>
</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-08-18T20:13:40.969396" 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-08-18T20:13:40.969788" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:40.969547" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:40.969519" elapsed="0.000420"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.969991" elapsed="0.000022"/>
</return>
<msg time="2026-08-18T20:13:40.972332" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:40.972397" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:40.959148" elapsed="0.013280"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:40.975597" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:40.973285" elapsed="0.002383"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:40.973253" elapsed="0.002455"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.976562" 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-08-18T20:13:40.975944" elapsed="0.000663"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.977385" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:40.976861" elapsed="0.000562"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:40.977498" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:13:40.977785" 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-08-18T20:13:40.972795" elapsed="0.005029"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:40.978051" 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-08-18T20:13:40.958586" elapsed="0.020130"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.987074" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:40.986776" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:40.996165" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:40.996917" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:40.997210" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:40.987229" elapsed="0.010009"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:40.997659" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:40.997402" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.000710" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:40.997866" elapsed="0.003775"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.004183" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.001740" elapsed="0.002511"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.001714" elapsed="0.002568"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.025440" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:41.025488" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:41.004474" 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-08-18T20:13:41.027312" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.025589" elapsed="0.001781"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.025570" elapsed="0.001823"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:41.027429" elapsed="0.000035"/>
</return>
<msg time="2026-08-18T20:13:41.027634" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:41.027682" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:40.986375" elapsed="0.041330"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.029993" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.028302" elapsed="0.001738"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.028282" elapsed="0.001781"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.030622" 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-08-18T20:13:41.030211" elapsed="0.000439"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.031184" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.030827" elapsed="0.000383"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.031260" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:41.031438" 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-08-18T20:13:41.027960" 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-08-18T20:13:41.031618" 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-08-18T20:13:40.985758" elapsed="0.046345"/>
</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-08-18T20:13:40.941277" elapsed="0.090883"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:40.934461" elapsed="0.097811"/>
</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-08-18T20:13:41.043043" 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-08-18T20:13:41.043180" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.042903" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:41.043792" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebce0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:41.043365" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.044250" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:41.043974" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.044691" 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-08-18T20:13:41.044425" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.045146" 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-08-18T20:13:41.044879" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.045886" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.045316" elapsed="0.000601"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.046393" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.046069" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.046964" 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-08-18T20:13:41.046627" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.047479" 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-08-18T20:13:41.047156" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.048035" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.047668" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.048546" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.048231" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.049069" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ebce0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.048737" 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-08-18T20:13:41.042554" elapsed="0.006616"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.049703" 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-08-18T20:13:41.049316" elapsed="0.000418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.050142" level="INFO">&lt;?xml version="1.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-08-18T20:13:41.049900" 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-08-18T20:13:41.057723" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.057427" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.062600" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.062725" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:41.062845" 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-08-18T20:13:41.057894" elapsed="0.004976"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.063280" 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-08-18T20:13:41.063029" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.065398" 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-08-18T20:13:41.063464" elapsed="0.001985"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:41.067224" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:41.065517" elapsed="0.001774"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.065498" elapsed="0.001816"/>
</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-08-18T20:13:41.067451" 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-08-18T20:13:41.067710" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.067559" elapsed="0.000277"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:41.067539" elapsed="0.000324"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.067897" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:41.069478" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:41.069523" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:41.057117" elapsed="0.012429"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.071643" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.070098" elapsed="0.001590"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.070080" elapsed="0.001630"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.072274" 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-08-18T20:13:41.071879" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.072826" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.072461" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.072902" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:41.073079" 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-08-18T20:13:41.069769" elapsed="0.003335"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.073256" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:41.056550" elapsed="0.017148"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.081372" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.081079" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.090605" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.091335" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:41.091617" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:41.081524" elapsed="0.010119"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.092079" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:41.091827" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.094808" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:41.092264" elapsed="0.003198"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.097288" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.095534" elapsed="0.001803"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.095514" elapsed="0.001846"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.115482" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:41.115541" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:41.097495" elapsed="0.018076"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:41.117673" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.115696" elapsed="0.002044"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.115667" elapsed="0.002120"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:41.117825" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:13:41.118034" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:41.118088" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:41.080695" elapsed="0.037422"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.120309" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.118710" elapsed="0.001645"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.118692" elapsed="0.001686"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.120960" 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-08-18T20:13:41.120529" elapsed="0.000459"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.121500" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.121147" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.121575" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:41.121770" 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-08-18T20:13:41.118362" elapsed="0.003436"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.121956" 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-08-18T20:13:41.080096" elapsed="0.042317"/>
</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-08-18T20:13:41.039299" elapsed="0.083176"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:41.032539" elapsed="0.090051"/>
</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-08-18T20:13:41.133495" 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-08-18T20:13:41.133635" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.133355" elapsed="0.000310"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:41.134239" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9530&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:41.133828" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.134694" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:41.134416" elapsed="0.000306"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.135157" 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-08-18T20:13:41.134889" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.135615" 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-08-18T20:13:41.135331" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.136522" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.135805" elapsed="0.000770"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.137294" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.136840" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.138090" 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-08-18T20:13:41.137618" elapsed="0.000530"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.138828" 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-08-18T20:13:41.138356" elapsed="0.000531"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.139524" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.139095" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.140273" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.139833" elapsed="0.000502"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.141013" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9530&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.140546" elapsed="0.000525"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:41.133024" elapsed="0.008123"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.141903" 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-08-18T20:13:41.141350" elapsed="0.000596"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.142482" level="INFO">&lt;?xml version="1.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-08-18T20:13:41.142151" elapsed="0.000419"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.150854" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.150535" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.155922" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.156092" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:41.156226" 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-08-18T20:13:41.151012" elapsed="0.005250"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.156849" 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-08-18T20:13:41.156482" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.160026" 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-08-18T20:13:41.157110" elapsed="0.002988"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:41.162590" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:13:41.160194" elapsed="0.002529"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.160168" elapsed="0.002613"/>
</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-08-18T20:13:41.162981" 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-08-18T20:13:41.163288" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.163107" elapsed="0.000251"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:41.163085" elapsed="0.000305"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.163433" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:13:41.165712" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:41.165794" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:41.150220" elapsed="0.015608"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.168783" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.166572" elapsed="0.002276"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.166548" elapsed="0.002330"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.169624" 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-08-18T20:13:41.169077" elapsed="0.000584"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.170382" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.169902" elapsed="0.000516"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.170486" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:41.170729" 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-08-18T20:13:41.166117" elapsed="0.004668"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.171000" 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-08-18T20:13:41.149650" elapsed="0.021981"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.180786" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.180479" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.189566" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.190602" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:41.191021" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:41.180940" elapsed="0.010118"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.191703" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:41.191295" elapsed="0.000496"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.195581" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:41.191992" 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-08-18T20:13:41.199071" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.196606" elapsed="0.002534"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.196580" elapsed="0.002596"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.263342" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:41.263408" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:41.199372" elapsed="0.064063"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:41.265460" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.263569" elapsed="0.001952"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.263534" elapsed="0.002013"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:41.265586" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:41.265824" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:41.265868" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:41.180111" elapsed="0.085779"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.268081" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.266504" elapsed="0.001622"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.266487" elapsed="0.001660"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.268777" 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-08-18T20:13:41.268297" elapsed="0.000509"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.269312" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.268965" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.269386" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:41.269563" 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-08-18T20:13:41.266146" elapsed="0.003442"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.269741" 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-08-18T20:13:41.179491" elapsed="0.090733"/>
</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-08-18T20:13:41.129631" elapsed="0.140650"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:41.122922" elapsed="0.147482"/>
</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-08-18T20:13:41.281210" 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-08-18T20:13:41.281377" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.281067" elapsed="0.000339"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:41.281991" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857ce840&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:41.281556" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.282450" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:41.282169" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.282912" 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-08-18T20:13:41.282627" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.283365" 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-08-18T20:13:41.283085" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.284262" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.283542" elapsed="0.000751"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.284791" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.284446" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.285371" 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-08-18T20:13:41.285049" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.285906" 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-08-18T20:13:41.285566" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.286405" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.286097" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.286928" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.286598" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.287464" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857ce840&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.287121" 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-08-18T20:13:41.280724" elapsed="0.006836"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.288103" 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-08-18T20:13:41.287706" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.288522" level="INFO">&lt;?xml version="1.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-08-18T20:13:41.288282" 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-08-18T20:13:41.296349" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.296036" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.301500" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.301847" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:41.302067" 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-08-18T20:13:41.296506" elapsed="0.005616"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.303069" 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-08-18T20:13:41.302473" elapsed="0.000829"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.308266" 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-08-18T20:13:41.303681" elapsed="0.004701"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:41.312362" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:41.308610" elapsed="0.003854"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.308560" elapsed="0.003931"/>
</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-08-18T20:13:41.312689" 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-08-18T20:13:41.312934" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.312803" elapsed="0.000182"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:41.312785" elapsed="0.000223"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.313039" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:41.314957" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:41.315007" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:41.295704" elapsed="0.019326"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.317560" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.315699" elapsed="0.001907"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.315680" elapsed="0.001947"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.318187" 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-08-18T20:13:41.317788" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.318716" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.318371" elapsed="0.000384"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.318807" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:41.318984" 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-08-18T20:13:41.315299" elapsed="0.003709"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.319179" 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-08-18T20:13:41.295134" elapsed="0.024497"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.327617" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.327278" elapsed="0.000366"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.338418" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.339698" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:41.340262" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:41.327794" elapsed="0.012508"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.340963" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:41.340526" elapsed="0.000502"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.344965" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:41.341226" elapsed="0.004661"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.348805" elapsed="0.000067"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.345988" elapsed="0.002933"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.345961" elapsed="0.002991"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.371280" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:41.371339" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:41.349229" elapsed="0.022135"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:41.373911" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.371443" elapsed="0.002548"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.371423" elapsed="0.002603"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:41.374073" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:41.374345" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:41.374405" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:41.326818" elapsed="0.047618"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.377455" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.375242" elapsed="0.002277"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.375216" elapsed="0.002333"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.378338" 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-08-18T20:13:41.377768" elapsed="0.000608"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.379250" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.378597" elapsed="0.000691"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.379365" elapsed="0.000048"/>
</return>
<msg time="2026-08-18T20:13:41.379642" 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-08-18T20:13:41.374736" elapsed="0.004943"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.379940" elapsed="0.000591"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:41.326195" elapsed="0.054427"/>
</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-08-18T20:13:41.277528" elapsed="0.103176"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:41.270756" elapsed="0.110147"/>
</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-08-18T20:13:41.395058" 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-08-18T20:13:41.395207" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.394900" elapsed="0.000339"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:41.395836" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7150&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:41.395390" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.396306" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:41.396013" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.396773" 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-08-18T20:13:41.396484" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.397221" 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-08-18T20:13:41.396951" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.398130" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.397393" elapsed="0.000767"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.398636" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.398313" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.399245" 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-08-18T20:13:41.398920" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.399773" 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-08-18T20:13:41.399437" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.400272" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.399963" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.400821" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.400463" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.401333" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7150&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.401016" 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-08-18T20:13:41.394517" elapsed="0.006912"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.401971" 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-08-18T20:13:41.401574" elapsed="0.000427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.402388" level="INFO">&lt;?xml version="1.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-08-18T20:13:41.402150" 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-08-18T20:13:41.410211" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.409905" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.414652" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.414808" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:41.414923" 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-08-18T20:13:41.410366" elapsed="0.004583"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.415374" 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-08-18T20:13:41.415123" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.417534" 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-08-18T20:13:41.415564" elapsed="0.002021"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:41.419376" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:41.417654" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.417635" elapsed="0.001865"/>
</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-08-18T20:13:41.419638" 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-08-18T20:13:41.419876" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.419729" elapsed="0.000199"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:41.419712" elapsed="0.000238"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.419982" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:41.421583" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:41.421633" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:41.409553" elapsed="0.012103"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.424033" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.422212" elapsed="0.001906"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.422194" elapsed="0.001956"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.424998" 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-08-18T20:13:41.424354" elapsed="0.000681"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.425803" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.425276" elapsed="0.000575"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.425931" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:13:41.426212" 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-08-18T20:13:41.421884" elapsed="0.004372"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.426474" elapsed="0.000613"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:41.408995" elapsed="0.018180"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.437536" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.437241" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.445693" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.446478" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:41.446824" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:41.437690" elapsed="0.009194"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.447339" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:41.447048" elapsed="0.000338"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.450538" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:41.447532" elapsed="0.003741"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.453346" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.451348" elapsed="0.002048"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.451328" elapsed="0.002091"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.471470" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:41.471517" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:41.453557" elapsed="0.017983"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:41.473433" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.471618" elapsed="0.001871"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.471599" elapsed="0.001914"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:41.473548" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:41.473741" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:41.473802" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:41.436871" elapsed="0.036954"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.476151" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.474364" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.474346" elapsed="0.001872"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.476917" 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-08-18T20:13:41.476403" elapsed="0.000542"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.477552" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.477152" elapsed="0.000426"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.477627" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:41.477872" 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-08-18T20:13:41.474037" elapsed="0.003861"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.478102" elapsed="0.000449"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:41.436238" elapsed="0.042379"/>
</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-08-18T20:13:41.390818" elapsed="0.087916"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:41.381286" elapsed="0.097620"/>
</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-08-18T20:13:41.490358" 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-08-18T20:13:41.490536" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.490176" elapsed="0.000392"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:41.491214" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a703b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:41.490820" elapsed="0.000422"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.491668" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:41.491392" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.492126" 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-08-18T20:13:41.491859" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.492561" 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-08-18T20:13:41.492298" elapsed="0.000288"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.493291" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.492731" elapsed="0.000590"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.493814" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.493473" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.494366" 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-08-18T20:13:41.494048" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.494977" 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-08-18T20:13:41.494555" elapsed="0.000466"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.495485" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.495174" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.496013" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.495679" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.496518" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a703b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.496205" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:41.489761" elapsed="0.006853"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.497178" 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-08-18T20:13:41.496774" elapsed="0.000437"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.497604" level="INFO">&lt;?xml version="1.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-08-18T20:13:41.497363" 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-08-18T20:13:41.505437" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.505142" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.510866" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.511091" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:41.511230" 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-08-18T20:13:41.505590" elapsed="0.005729"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.512038" 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-08-18T20:13:41.511542" elapsed="0.000561"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.515589" 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-08-18T20:13:41.512404" elapsed="0.003260"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:41.518417" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:13:41.515792" elapsed="0.002720"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.515761" elapsed="0.002784"/>
</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-08-18T20:13:41.518782" 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-08-18T20:13:41.519162" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.518912" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:41.518889" elapsed="0.000430"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.519370" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:41.521776" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:41.521840" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:41.504834" elapsed="0.017038"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.525498" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.522819" elapsed="0.002793"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.522792" elapsed="0.002855"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.526776" 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-08-18T20:13:41.525931" elapsed="0.000889"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.527654" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.527095" elapsed="0.000592"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.527741" elapsed="0.000045"/>
</return>
<msg time="2026-08-18T20:13:41.527935" 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-08-18T20:13:41.522299" elapsed="0.005661"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.528114" elapsed="0.000380"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:41.504273" elapsed="0.024305"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.536413" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.536121" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.546849" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.548281" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:41.548939" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:41.536565" elapsed="0.012434"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.550070" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:41.549464" elapsed="0.000706"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.557598" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:41.550484" elapsed="0.008715"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.561293" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.559365" elapsed="0.001978"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.559322" elapsed="0.002043"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.580354" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:41.580401" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:41.561501" elapsed="0.018924"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:41.582259" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.580504" elapsed="0.001811"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.580485" elapsed="0.001854"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:41.582372" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:41.582592" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:41.582634" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:41.535734" elapsed="0.046922"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.585119" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.583270" elapsed="0.001896"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.583250" elapsed="0.001937"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.585941" 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-08-18T20:13:41.585379" elapsed="0.000590"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.586658" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.586180" elapsed="0.000504"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.586790" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:13:41.587035" 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-08-18T20:13:41.582885" elapsed="0.004177"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.587219" elapsed="0.000494"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:41.535072" elapsed="0.052725"/>
</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-08-18T20:13:41.486073" elapsed="0.101781"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:41.479125" elapsed="0.108893"/>
</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-08-18T20:13:41.599115" 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-08-18T20:13:41.599250" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.598978" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:41.599856" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7010&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:41.599428" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.600359" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:41.600033" elapsed="0.000353"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.600844" 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-08-18T20:13:41.600544" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.601334" 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-08-18T20:13:41.601041" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.602260" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.601511" elapsed="0.000780"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.602803" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.602462" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.603414" 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-08-18T20:13:41.603065" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.604299" 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-08-18T20:13:41.603778" elapsed="0.000592"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.605093" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:41.604586" elapsed="0.000573"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.605900" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:41.605388" elapsed="0.000590"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.606788" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a7010&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.606219" elapsed="0.000634"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:41.598623" elapsed="0.008316"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.607701" 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-08-18T20:13:41.607161" elapsed="0.000604"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.608316" level="INFO">&lt;?xml version="1.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-08-18T20:13:41.607979" elapsed="0.000425"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.620689" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.620371" elapsed="0.000346"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.626065" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.626204" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:41.626304" 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-08-18T20:13:41.620868" elapsed="0.005477"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.626781" 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-08-18T20:13:41.626508" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.628911" 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-08-18T20:13:41.626967" elapsed="0.001995"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:41.630882" elapsed="0.000034"/>
</return>
<status status="PASS" start="2026-08-18T20:13:41.629035" elapsed="0.001922"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.629014" elapsed="0.001969"/>
</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-08-18T20:13:41.631124" 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-08-18T20:13:41.631390" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.631215" elapsed="0.000229"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:41.631199" elapsed="0.000268"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.631499" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:41.633130" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:41.633174" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:41.620051" elapsed="0.013146"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.635466" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.633798" elapsed="0.001714"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.633779" elapsed="0.001754"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.636131" 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-08-18T20:13:41.635717" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.636660" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.636316" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.636735" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:13:41.636930" 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-08-18T20:13:41.633408" elapsed="0.003547"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.637107" elapsed="0.000428"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:41.619334" elapsed="0.018264"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.645994" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.645683" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.656394" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.657151" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:41.657440" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:41.646146" elapsed="0.011320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.657900" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:41.657630" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.660890" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:41.658086" 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-08-18T20:13:41.663377" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.661628" elapsed="0.001798"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.661609" elapsed="0.001839"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.683216" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:41.683301" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:41.663586" elapsed="0.019740"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:41.685191" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.683405" elapsed="0.001882"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.683386" elapsed="0.001927"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:41.685348" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:41.685544" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:41.685587" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:41.645268" elapsed="0.040341"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.687800" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.686226" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.686208" elapsed="0.001659"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.688410" 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-08-18T20:13:41.688013" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.688967" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.688597" elapsed="0.000396"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.689043" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:41.689221" 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-08-18T20:13:41.685876" elapsed="0.003369"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.689401" 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-08-18T20:13:41.644634" elapsed="0.045248"/>
</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-08-18T20:13:41.595213" elapsed="0.094726"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:41.588277" elapsed="0.101782"/>
</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-08-18T20:13:41.700992" 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-08-18T20:13:41.701138" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:41.700850" elapsed="0.000316"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:41.701711" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a70b30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:41.701314" elapsed="0.000425"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.702254" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:41.701906" elapsed="0.000376"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.702805" 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-08-18T20:13:41.702474" elapsed="0.000358"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.703368" 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-08-18T20:13:41.703018" elapsed="0.000377"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.704261" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:41.703547" elapsed="0.000744"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.704865" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.704483" elapsed="0.000426"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.705458" 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-08-18T20:13:41.705138" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.705989" 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-08-18T20:13:41.705649" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.706500" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:41.706191" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.707022" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:41.706691" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.707527" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a70b30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.707213" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:41.700510" elapsed="0.007112"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.708160" 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-08-18T20:13:41.707780" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.708574" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:41.708337" 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-08-18T20:13:41.716733" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.716442" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.721392" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.721516" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:41.721612" 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-08-18T20:13:41.716903" elapsed="0.004734"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.722078" 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-08-18T20:13:41.721813" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.724257" 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-08-18T20:13:41.722265" 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-08-18T20:13:41.726168" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:41.724377" elapsed="0.001858"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.724358" elapsed="0.001901"/>
</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-08-18T20:13:41.726397" elapsed="0.000064"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:41.726707" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.726573" elapsed="0.000201"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:41.726555" elapsed="0.000243"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.726830" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:41.728413" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:41.728457" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:41.716132" elapsed="0.012347"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.730575" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.729027" elapsed="0.001593"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.729010" elapsed="0.001631"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.731314" 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-08-18T20:13:41.730839" elapsed="0.000502"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.732078" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.731537" elapsed="0.000569"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.732193" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:13:41.732413" 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-08-18T20:13:41.728686" elapsed="0.003755"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.732631" elapsed="0.000448"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:41.715566" elapsed="0.017615"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.741295" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.741002" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.752031" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.752828" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:41.753144" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:41.741446" elapsed="0.011727"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.753591" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:41.753332" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.756533" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:41.753791" elapsed="0.003405"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.759137" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.757268" elapsed="0.001920"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.757249" elapsed="0.001961"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.777656" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:41.777705" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:41.759346" elapsed="0.018382"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:41.779762" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.777868" elapsed="0.001953"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.777847" elapsed="0.001998"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:41.779879" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:41.780076" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:41.780119" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:41.740611" elapsed="0.039530"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.782281" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.780687" elapsed="0.001639"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.780669" elapsed="0.001679"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.782908" 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-08-18T20:13:41.782492" elapsed="0.000444"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.783607" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.783147" elapsed="0.000487"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.783683" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:41.783877" 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-08-18T20:13:41.780360" 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-08-18T20:13:41.784058" 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-08-18T20:13:41.740003" elapsed="0.044500"/>
</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-08-18T20:13:41.697264" elapsed="0.087350"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:41.690370" elapsed="0.094362"/>
</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-08-18T20:13:41.795813" 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-08-18T20:13:41.795951" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:41.795658" elapsed="0.000322"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:41.796531" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985323060&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:41.796128" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.797001" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:41.796707" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.797437" 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-08-18T20:13:41.797174" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.797911" 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-08-18T20:13:41.797607" elapsed="0.000331"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.798766" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:41.798089" elapsed="0.000711"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.799435" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.799005" elapsed="0.000476"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.800157" 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-08-18T20:13:41.799719" elapsed="0.000483"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.800850" 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-08-18T20:13:41.800403" elapsed="0.000493"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.801515" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:41.801095" elapsed="0.000480"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.802225" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:41.801789" elapsed="0.000484"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.802865" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985323060&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.802473" elapsed="0.000435"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:41.795330" elapsed="0.007635"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.803496" 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-08-18T20:13:41.803113" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.803934" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:41.803674" 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-08-18T20:13:41.812884" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.812513" elapsed="0.000399"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.817282" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.817463" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:41.817569" 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-08-18T20:13:41.813041" elapsed="0.004553"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.818082" 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-08-18T20:13:41.817806" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.820211" 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-08-18T20:13:41.818267" elapsed="0.001994"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:41.822079" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:41.820330" elapsed="0.001816"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.820311" elapsed="0.001859"/>
</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-08-18T20:13:41.822309" 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-08-18T20:13:41.822555" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.822398" elapsed="0.000299"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:41.822382" elapsed="0.000358"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.822811" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:41.825039" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:41.825101" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:41.812189" elapsed="0.012943"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.828560" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.825912" elapsed="0.002713"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.825886" elapsed="0.002769"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.829738" 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-08-18T20:13:41.828940" elapsed="0.000858"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.830546" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.830058" elapsed="0.000524"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.830651" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:41.830924" 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-08-18T20:13:41.825420" elapsed="0.005539"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.831171" elapsed="0.000531"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:41.811579" elapsed="0.020233"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.840708" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.840357" elapsed="0.000379"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.850726" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.851465" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:41.851764" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:41.840880" elapsed="0.010912"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.852204" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:41.851952" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.856182" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;11&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;781000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;284000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;780000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;280000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;287000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;787000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;290000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;786000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;294000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;797000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;297000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;5&lt;/second&gt;&lt;nanosecond&gt;766000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;6&lt;/second&gt;&lt;nanosecond&gt;266000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;802000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;799000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;301000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;807000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;260000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;305000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;805000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;4&lt;/second&gt;&lt;nanosecond&gt;767000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;5&lt;/second&gt;&lt;nanosecond&gt;265000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;3&lt;/second&gt;&lt;nanosecond&gt;765000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;266000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;279000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;812000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;6&lt;/second&gt;&lt;nanosecond&gt;769000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;311000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;849000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;270000000&lt;/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;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;8&lt;/second&gt;&lt;nanosecond&gt;773000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;263000000&lt;/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;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;7&lt;/second&gt;&lt;nanosecond&gt;768000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;275000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;777000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;269000000&lt;/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;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;9&lt;/second&gt;&lt;nanosecond&gt;775000000&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-08-18T20:13:41.852388" elapsed="0.005262"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.863250" elapsed="0.000041"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.857871" elapsed="0.005572"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.857821" elapsed="0.005680"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.883172" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:41.883219" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:41.863991" elapsed="0.019252"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:41.885109" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.883320" elapsed="0.001845"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.883302" elapsed="0.001887"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:41.885222" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:41.885416" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:41.885459" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:41.839883" elapsed="0.045598"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.887612" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.886062" elapsed="0.001595"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.886043" elapsed="0.001636"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.888281" 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-08-18T20:13:41.887859" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.888832" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.888469" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.888908" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:41.889084" 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-08-18T20:13:41.885713" elapsed="0.003396"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.889261" 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-08-18T20:13:41.839106" elapsed="0.050615"/>
</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-08-18T20:13:41.791920" elapsed="0.097874"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:41.785005" elapsed="0.104901"/>
</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-08-18T20:13:41.901380" 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-08-18T20:13:41.901514" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:41.901243" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:41.902114" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985321a30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:41.901704" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.902565" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:41.902290" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.903024" 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-08-18T20:13:41.902741" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:41.903553" 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-08-18T20:13:41.903243" elapsed="0.000336"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.904443" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:41.903754" elapsed="0.000754"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.905082" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.904667" elapsed="0.000459"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.905802" 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-08-18T20:13:41.905364" elapsed="0.000483"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.906365" 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-08-18T20:13:41.905998" elapsed="0.000481"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.907006" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:41.906665" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.907513" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:41.907200" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.908034" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985321a30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:41.907705" 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-08-18T20:13:41.900917" elapsed="0.007212"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.908651" 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-08-18T20:13:41.908275" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.909109" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:41.908844" 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-08-18T20:13:41.916999" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.916687" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.921454" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.921580" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:41.921690" 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-08-18T20:13:41.917197" elapsed="0.004518"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.922144" 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-08-18T20:13:41.921890" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.924483" 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-08-18T20:13:41.922327" elapsed="0.002211"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:41.926637" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-08-18T20:13:41.924648" elapsed="0.002060"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.924627" elapsed="0.002105"/>
</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-08-18T20:13:41.926910" 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-08-18T20:13:41.927225" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.927002" elapsed="0.000277"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:41.926986" elapsed="0.000316"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.927334" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:41.928933" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:41.928977" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:41.916380" elapsed="0.012620"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.931564" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.929531" elapsed="0.002096"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.929514" elapsed="0.002144"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.932426" 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-08-18T20:13:41.931878" elapsed="0.000585"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.933186" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.932681" elapsed="0.000541"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.933291" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:13:41.933660" 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-08-18T20:13:41.929207" elapsed="0.004491"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.933942" 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-08-18T20:13:41.915787" elapsed="0.018827"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.945110" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:41.944818" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:41.952160" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:41.953122" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:41.953588" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:41.945261" elapsed="0.008365"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.954216" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:41.953866" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.958993" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:41.954471" elapsed="0.005449"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.962600" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.960021" elapsed="0.002646"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.959995" elapsed="0.002700"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:41.981481" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:41.981529" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:41.962902" elapsed="0.018649"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:41.983418" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:41.981630" elapsed="0.001843"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.981611" elapsed="0.001886"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:41.983531" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:41.983786" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:41.983831" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:41.944434" elapsed="0.039419"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:41.985999" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:41.984395" elapsed="0.001649"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:41.984377" elapsed="0.001688"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.986656" 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-08-18T20:13:41.986209" elapsed="0.000474"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:41.987212" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:41.986860" elapsed="0.000379"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:41.987288" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:41.987466" 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-08-18T20:13:41.984067" elapsed="0.003424"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:41.987644" 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-08-18T20:13:41.943834" elapsed="0.044323"/>
</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-08-18T20:13:41.897599" elapsed="0.090614"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:41.890202" elapsed="0.098123"/>
</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-08-18T20:13:41.999886" 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-08-18T20:13:42.000078" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:41.999731" elapsed="0.000377"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:42.000815" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad62f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:42.000313" elapsed="0.000530"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.001347" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:42.001030" elapsed="0.000345"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.001908" 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-08-18T20:13:42.001536" elapsed="0.000400"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.002435" 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-08-18T20:13:42.002123" elapsed="0.000338"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.003433" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:42.002646" elapsed="0.000820"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.004080" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.003659" elapsed="0.000467"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.004687" 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-08-18T20:13:42.004363" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.005217" 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-08-18T20:13:42.004896" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.005739" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:42.005427" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.006264" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:42.005953" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.006784" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad62f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.006455" 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-08-18T20:13:41.999329" elapsed="0.007550"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.007401" 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-08-18T20:13:42.007024" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.007878" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:42.007579" elapsed="0.000361"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.015796" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.015437" elapsed="0.000386"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.021524" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.021830" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:42.022055" 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-08-18T20:13:42.015950" elapsed="0.006161"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.023063" 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-08-18T20:13:42.022463" elapsed="0.000700"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.027876" 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-08-18T20:13:42.023471" elapsed="0.004519"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:42.031525" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:13:42.028142" elapsed="0.003476"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.028100" elapsed="0.003552"/>
</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-08-18T20:13:42.031865" elapsed="0.000073"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.032226" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.032040" elapsed="0.000257"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:42.032016" elapsed="0.000313"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.032373" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:42.034622" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:42.034684" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:42.015128" elapsed="0.019588"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.037687" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.035485" elapsed="0.002285"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.035461" elapsed="0.002342"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.038557" 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-08-18T20:13:42.038004" elapsed="0.000590"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.039319" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.038836" elapsed="0.000520"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.039424" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:42.039668" 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-08-18T20:13:42.035027" elapsed="0.004676"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.039998" 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-08-18T20:13:42.014561" elapsed="0.026062"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.048950" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.048637" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.056493" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.058248" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:42.058903" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:42.049103" elapsed="0.009857"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.059890" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:42.059308" elapsed="0.000682"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.064847" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:42.060297" elapsed="0.005517"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.068572" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.065918" elapsed="0.002770"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.065890" elapsed="0.002832"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.088326" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:42.088374" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:42.068981" elapsed="0.019416"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.090472" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.088477" elapsed="0.002052"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.088458" elapsed="0.002096"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:42.090588" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:42.090799" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:42.090844" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:42.048268" elapsed="0.042598"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.093119" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.091411" elapsed="0.001754"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.091393" elapsed="0.001794"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.093813" 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-08-18T20:13:42.093347" elapsed="0.000494"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.094350" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.094001" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.094426" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:42.094604" 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-08-18T20:13:42.091079" 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-08-18T20:13:42.094839" elapsed="0.000473"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:42.047582" elapsed="0.047795"/>
</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-08-18T20:13:41.996062" elapsed="0.099372"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:41.988573" elapsed="0.107009"/>
</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-08-18T20:13:42.106909" 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-08-18T20:13:42.107042" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:42.106769" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:42.107611" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:42.107219" elapsed="0.000420"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.108082" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:42.107805" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.108522" 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-08-18T20:13:42.108257" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.108984" 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-08-18T20:13:42.108694" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.109803" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:42.109157" elapsed="0.000678"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.110311" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.109988" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.110874" 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-08-18T20:13:42.110542" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.111438" 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-08-18T20:13:42.111066" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.111983" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:42.111631" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.112547" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:42.112183" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.113071" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856ea930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.112740" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:42.106431" elapsed="0.006753"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.113714" 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-08-18T20:13:42.113333" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.114149" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:42.113912" 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-08-18T20:13:42.122685" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.122390" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.127409" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.127576" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:42.127674" 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-08-18T20:13:42.122855" elapsed="0.004845"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.128208" 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-08-18T20:13:42.127877" elapsed="0.000377"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.130709" 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-08-18T20:13:42.128433" elapsed="0.002342"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:42.132847" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:42.130887" elapsed="0.002027"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.130866" elapsed="0.002072"/>
</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-08-18T20:13:42.133076" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.133362" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.133227" elapsed="0.000186"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:42.133209" elapsed="0.000226"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.133467" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:42.135690" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:42.135768" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:42.122077" elapsed="0.013724"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.138984" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.136684" elapsed="0.002364"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.136658" elapsed="0.002420"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.139894" 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-08-18T20:13:42.139279" elapsed="0.000652"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.140643" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.140160" elapsed="0.000519"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.140815" elapsed="0.000045"/>
</return>
<msg time="2026-08-18T20:13:42.141074" 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-08-18T20:13:42.136092" elapsed="0.005033"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.141343" 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-08-18T20:13:42.121464" elapsed="0.020589"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.151244" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.150952" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.161344" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.163159" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:42.163852" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:42.151397" elapsed="0.012519"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.164939" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:42.164299" elapsed="0.000802"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.169319" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:42.165458" elapsed="0.004785"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.172885" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.170345" elapsed="0.002610"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.170318" elapsed="0.002668"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.191702" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:42.191762" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:42.173196" elapsed="0.018591"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.193631" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.191865" elapsed="0.001823"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.191847" elapsed="0.001865"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:42.193759" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:42.193955" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:42.193997" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:42.150565" elapsed="0.043454"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.196120" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.194560" elapsed="0.001605"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.194542" elapsed="0.001644"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.196726" 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-08-18T20:13:42.196328" elapsed="0.000440"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.197310" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.196927" elapsed="0.000553"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.197538" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:42.197719" 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-08-18T20:13:42.194233" elapsed="0.003525"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.197915" 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-08-18T20:13:42.149959" elapsed="0.048407"/>
</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-08-18T20:13:42.103197" elapsed="0.095224"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:42.095924" elapsed="0.102606"/>
</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-08-18T20:13:42.209251" 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-08-18T20:13:42.209387" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.209113" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:42.209998" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad6520&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:42.209567" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.210452" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:42.210177" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.210915" 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-08-18T20:13:42.210627" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.211360" 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-08-18T20:13:42.211092" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.212266" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.211536" elapsed="0.000761"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.212789" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.212450" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.213391" 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-08-18T20:13:42.213062" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.213931" 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-08-18T20:13:42.213587" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.214438" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.214126" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.214969" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.214637" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.215633" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad6520&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.215160" 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-08-18T20:13:42.208776" elapsed="0.006961"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.216284" 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-08-18T20:13:42.215904" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.216700" level="INFO">&lt;?xml version="1.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-08-18T20:13:42.216461" 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-08-18T20:13:42.224305" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.224007" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.229179" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.229306" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:42.229402" 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-08-18T20:13:42.224459" elapsed="0.004969"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.229865" 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-08-18T20:13:42.229590" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.231982" 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-08-18T20:13:42.230050" elapsed="0.001982"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:42.233831" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:13:42.232102" elapsed="0.001827"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.232083" elapsed="0.001873"/>
</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-08-18T20:13:42.234098" 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-08-18T20:13:42.234319" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.234188" elapsed="0.000184"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:42.234173" elapsed="0.000226"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.234430" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:42.236038" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:42.236083" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:42.223678" elapsed="0.012428"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.238561" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.236637" elapsed="0.001987"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.236620" elapsed="0.002034"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.239435" 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-08-18T20:13:42.238874" elapsed="0.000598"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.240203" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.239691" elapsed="0.000549"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.240309" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:42.240556" 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-08-18T20:13:42.236313" elapsed="0.004277"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.240825" 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-08-18T20:13:42.223134" elapsed="0.018325"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.251477" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.251184" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.261908" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.262956" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:42.263353" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:42.251627" elapsed="0.011763"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.263992" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:42.263615" elapsed="0.000440"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.268097" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:42.264249" elapsed="0.004780"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.271557" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.269130" elapsed="0.002495"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.269103" elapsed="0.002552"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.289440" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:42.289487" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:42.271865" elapsed="0.017646"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.291369" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.289590" elapsed="0.001834"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.289571" elapsed="0.001877"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:42.291482" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:42.291675" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:42.291718" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:42.250817" elapsed="0.040923"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.293887" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.292301" elapsed="0.001631"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.292283" elapsed="0.001670"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.294498" 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-08-18T20:13:42.294096" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.295047" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.294682" elapsed="0.000391"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.295121" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:42.295298" 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-08-18T20:13:42.291972" elapsed="0.003350"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.295476" 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-08-18T20:13:42.250204" elapsed="0.045741"/>
</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-08-18T20:13:42.205574" elapsed="0.090427"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:42.198801" elapsed="0.097313"/>
</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-08-18T20:13:42.306758" 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-08-18T20:13:42.306902" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.306608" elapsed="0.000324"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:42.307503" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858389f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:42.307080" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.307978" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:42.307681" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.308421" 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-08-18T20:13:42.308155" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.308918" 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-08-18T20:13:42.308597" elapsed="0.000347"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.309848" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.309094" elapsed="0.000785"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.310359" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.310032" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.310935" 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-08-18T20:13:42.310598" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.311450" 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-08-18T20:13:42.311125" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.312112" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.311637" elapsed="0.000521"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.312632" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.312309" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.313175" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9858389f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.312857" 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-08-18T20:13:42.306285" elapsed="0.006986"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.313811" 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-08-18T20:13:42.313416" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.314228" level="INFO">&lt;?xml version="1.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-08-18T20:13:42.313989" 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-08-18T20:13:42.321878" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.321561" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.326254" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.326384" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:42.326482" 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-08-18T20:13:42.322037" elapsed="0.004470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.326945" 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-08-18T20:13:42.326672" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.329077" 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-08-18T20:13:42.327131" elapsed="0.001995"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:42.330934" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:42.329195" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.329176" elapsed="0.001852"/>
</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-08-18T20:13:42.331168" 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-08-18T20:13:42.331388" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.331258" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:42.331241" elapsed="0.000219"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.331492" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:13:42.333116" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:42.333160" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:42.321249" elapsed="0.011934"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.336043" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.333874" elapsed="0.002232"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.333849" elapsed="0.002287"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.336922" 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-08-18T20:13:42.336335" elapsed="0.000624"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.337660" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.337177" elapsed="0.000519"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.337783" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:13:42.338033" 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-08-18T20:13:42.333392" elapsed="0.004675"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.338282" 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-08-18T20:13:42.320654" elapsed="0.018264"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.348519" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.348225" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.359699" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.360772" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:42.361162" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:42.348685" elapsed="0.012514"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.362009" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:42.361421" elapsed="0.000653"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.365862" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:42.362272" 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-08-18T20:13:42.369312" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.366875" elapsed="0.002506"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.366848" elapsed="0.002564"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.386079" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:42.386125" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:42.369633" elapsed="0.016515"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.387995" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.386226" elapsed="0.001825"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.386207" elapsed="0.001867"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:42.388107" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:42.388301" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:42.388344" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:42.347855" elapsed="0.040511"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.390502" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.388947" elapsed="0.001600"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.388928" elapsed="0.001641"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.391128" 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-08-18T20:13:42.390712" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.391659" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.391312" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.391734" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:13:42.391929" 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-08-18T20:13:42.388599" elapsed="0.003356"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.392109" 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-08-18T20:13:42.347228" elapsed="0.045349"/>
</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-08-18T20:13:42.303095" elapsed="0.089540"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:42.296353" elapsed="0.096408"/>
</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-08-18T20:13:42.403506" 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-08-18T20:13:42.403649" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.403364" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:42.404294" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3d760&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:42.403853" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.404817" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:42.404476" elapsed="0.000370"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.405284" 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-08-18T20:13:42.405002" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.405734" 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-08-18T20:13:42.405460" elapsed="0.000316"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.406693" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.405931" elapsed="0.000793"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.407221" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.406896" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.407803" 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-08-18T20:13:42.407461" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.408325" 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-08-18T20:13:42.407995" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.408863" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.408534" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.409382" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.409057" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.410065" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3d760&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.409575" elapsed="0.000533"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:42.403011" elapsed="0.007153"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.410727" 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-08-18T20:13:42.410331" elapsed="0.000442"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.411167" level="INFO">&lt;?xml version="1.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-08-18T20:13:42.410924" 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-08-18T20:13:42.419048" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.418735" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.423618" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.423759" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:42.423859" 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-08-18T20:13:42.419201" elapsed="0.004683"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.424301" 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-08-18T20:13:42.424043" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.426494" 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-08-18T20:13:42.424501" 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-08-18T20:13:42.428408" elapsed="0.000058"/>
</return>
<status status="PASS" start="2026-08-18T20:13:42.426620" elapsed="0.001888"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.426601" elapsed="0.001933"/>
</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-08-18T20:13:42.428675" 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-08-18T20:13:42.428918" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.428784" elapsed="0.000193"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:42.428766" elapsed="0.000235"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.429033" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:42.431143" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:42.431205" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:42.418423" elapsed="0.012813"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.434247" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.432020" elapsed="0.002300"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.431995" elapsed="0.002356"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.435129" 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-08-18T20:13:42.434552" elapsed="0.000614"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.435922" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.435401" elapsed="0.000557"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.436027" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:42.436283" 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-08-18T20:13:42.431539" 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-08-18T20:13:42.436561" 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-08-18T20:13:42.417829" elapsed="0.019400"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.446302" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.446009" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.455663" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.457667" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:42.458407" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:42.446455" elapsed="0.012020"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.459940" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:42.458895" elapsed="0.001160"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.466217" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:42.460469" elapsed="0.006442"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.468759" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.466987" elapsed="0.001825"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.466967" elapsed="0.001867"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.488344" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:42.488391" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:42.468974" elapsed="0.019439"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.490264" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.488492" elapsed="0.001829"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.488473" elapsed="0.001871"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:42.490378" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:42.490570" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:42.490613" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:42.445625" elapsed="0.045009"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.492811" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.491203" elapsed="0.001654"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.491184" elapsed="0.001695"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.493427" 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-08-18T20:13:42.493025" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.493989" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.493620" elapsed="0.000395"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.494079" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:42.494262" 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-08-18T20:13:42.490860" 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-08-18T20:13:42.494442" 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-08-18T20:13:42.445017" elapsed="0.049889"/>
</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-08-18T20:13:42.399723" elapsed="0.095239"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:42.392935" elapsed="0.102137"/>
</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-08-18T20:13:42.505977" 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-08-18T20:13:42.506112" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.505839" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:42.506704" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583bfb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:42.506290" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.507175" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:42.506898" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.507618" 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-08-18T20:13:42.507351" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.508078" 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-08-18T20:13:42.507809" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.509007" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.508275" elapsed="0.000762"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.509520" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.509195" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.510102" 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-08-18T20:13:42.509776" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.510617" 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-08-18T20:13:42.510293" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.511165" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.510822" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.511710" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.511375" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.512300" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583bfb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.511940" elapsed="0.000414"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:42.505497" elapsed="0.006914"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.513001" 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-08-18T20:13:42.512578" elapsed="0.000456"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.513449" level="INFO">&lt;?xml version="1.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-08-18T20:13:42.513193" 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-08-18T20:13:42.521396" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.521096" elapsed="0.000326"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.526142" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.526404" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:42.526659" 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-08-18T20:13:42.521550" elapsed="0.005172"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.527851" 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-08-18T20:13:42.527170" elapsed="0.000801"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.532988" 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-08-18T20:13:42.528364" elapsed="0.004697"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:42.535629" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:13:42.533164" elapsed="0.002629"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.533137" elapsed="0.002700"/>
</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-08-18T20:13:42.536045" 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-08-18T20:13:42.536412" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.536178" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:42.536154" elapsed="0.000378"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.536590" elapsed="0.000024"/>
</return>
<msg time="2026-08-18T20:13:42.538923" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:42.538987" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:42.520760" elapsed="0.018259"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.542028" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.539805" elapsed="0.002288"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.539778" elapsed="0.002345"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.542906" 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-08-18T20:13:42.542323" elapsed="0.000620"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.543674" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.543169" elapsed="0.000542"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.543808" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:13:42.544072" 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-08-18T20:13:42.539321" 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-08-18T20:13:42.544365" elapsed="0.000486"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:42.520178" elapsed="0.024742"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.552584" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.552288" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.561938" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.562679" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:42.562981" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:42.552737" elapsed="0.010271"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.563420" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:42.563168" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.568850" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:42.563605" elapsed="0.006739"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.574560" elapsed="0.000038"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.570518" elapsed="0.004155"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.570472" elapsed="0.004250"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.592996" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:42.593043" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:42.575078" elapsed="0.017988"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.594951" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.593144" elapsed="0.001869"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.593125" elapsed="0.001912"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:42.595072" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:42.595268" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:42.595310" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:42.551904" elapsed="0.043428"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.597457" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.595891" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.595872" elapsed="0.001652"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.598086" 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-08-18T20:13:42.597669" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.598632" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.598270" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.598707" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:13:42.598909" 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-08-18T20:13:42.595546" elapsed="0.003388"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.599097" 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-08-18T20:13:42.551274" elapsed="0.048281"/>
</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-08-18T20:13:42.502274" elapsed="0.097337"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:42.495320" elapsed="0.104404"/>
</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-08-18T20:13:42.610516" 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-08-18T20:13:42.610650" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.610376" elapsed="0.000302"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:42.611269" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839080&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:42.610843" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.611768" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:42.611454" elapsed="0.000344"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.612272" 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-08-18T20:13:42.611955" elapsed="0.000344"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.612730" 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-08-18T20:13:42.612448" elapsed="0.000324"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.613654" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.612924" elapsed="0.000761"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.614196" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.613861" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.614787" 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-08-18T20:13:42.614437" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.615324" 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-08-18T20:13:42.614985" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.615848" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.615519" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.616544" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.616065" elapsed="0.000526"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.617079" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839080&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.616756" 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-08-18T20:13:42.610029" elapsed="0.007148"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.617708" 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-08-18T20:13:42.617330" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.618146" level="INFO">&lt;?xml version="1.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-08-18T20:13:42.617902" 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-08-18T20:13:42.625790" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.625481" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.630060" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.630182" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:42.630279" 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-08-18T20:13:42.625944" elapsed="0.004359"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.630723" 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-08-18T20:13:42.630465" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.632920" 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-08-18T20:13:42.630935" 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-08-18T20:13:42.634754" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:42.633038" elapsed="0.001816"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.633020" elapsed="0.001862"/>
</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-08-18T20:13:42.635021" 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-08-18T20:13:42.635242" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.635112" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:42.635096" elapsed="0.000218"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.635346" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:42.637203" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:42.637265" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:42.625172" elapsed="0.012123"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.640267" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.638074" elapsed="0.002256"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.638049" elapsed="0.002311"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.641139" 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-08-18T20:13:42.640566" elapsed="0.000611"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.641906" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.641397" elapsed="0.000545"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.642011" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:42.642258" 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-08-18T20:13:42.637582" elapsed="0.004711"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.642506" elapsed="0.000551"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:42.624608" elapsed="0.018538"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.652800" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.652478" elapsed="0.000349"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.663512" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.664618" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:42.665043" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:42.652955" elapsed="0.012131"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.665926" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:42.665315" elapsed="0.000682"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.669861" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:42.666202" elapsed="0.004585"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.673375" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.670890" elapsed="0.002556"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.670862" elapsed="0.002615"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.695931" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:42.695998" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:42.673667" elapsed="0.022363"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.698099" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.696139" elapsed="0.002016"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.696113" elapsed="0.002066"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:42.698213" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:42.698408" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:42.698450" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:42.652103" elapsed="0.046369"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.700603" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.699035" elapsed="0.001614"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.699017" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.701228" 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-08-18T20:13:42.700829" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.701773" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.701412" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.701849" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:42.702026" 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-08-18T20:13:42.698689" elapsed="0.003362"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.702208" 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-08-18T20:13:42.651412" elapsed="0.051263"/>
</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-08-18T20:13:42.606829" elapsed="0.095901"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:42.600004" elapsed="0.102857"/>
</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-08-18T20:13:42.713556" 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-08-18T20:13:42.713698" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.713417" elapsed="0.000310"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:42.714300" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570f600&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:42.713891" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.714763" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:42.714474" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.715202" 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-08-18T20:13:42.714938" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.715635" 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-08-18T20:13:42.715371" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.716542" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.715834" elapsed="0.000739"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.717066" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.716726" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.717618" 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-08-18T20:13:42.717297" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.718149" 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-08-18T20:13:42.717826" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.718807" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.718338" elapsed="0.000517"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.719327" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.719006" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.719878" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570f600&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.719522" elapsed="0.000399"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:42.713094" elapsed="0.006882"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.720501" 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-08-18T20:13:42.720122" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.720934" level="INFO">&lt;?xml version="1.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-08-18T20:13:42.720678" 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-08-18T20:13:42.728509" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.728214" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.733046" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.733169" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:42.733267" 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-08-18T20:13:42.728662" elapsed="0.004630"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.733698" 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-08-18T20:13:42.733451" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.735840" 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-08-18T20:13:42.733899" elapsed="0.001991"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:42.737677" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:13:42.735958" elapsed="0.001827"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.735940" 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-08-18T20:13:42.737955" 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-08-18T20:13:42.738177" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.738046" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:42.738029" elapsed="0.000221"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.738282" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:42.739922" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:42.739966" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:42.727904" elapsed="0.012084"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.742722" elapsed="0.000037"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.740522" elapsed="0.002282"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.740505" elapsed="0.002329"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.743589" 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-08-18T20:13:42.743034" elapsed="0.000592"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.744362" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.743876" elapsed="0.000522"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.744466" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:42.744711" 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-08-18T20:13:42.740197" elapsed="0.004567"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.744981" elapsed="0.000528"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:42.727333" elapsed="0.018261"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.755286" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.754993" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.764709" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.765761" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:42.766158" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:42.755438" elapsed="0.010757"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.766996" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:42.766414" elapsed="0.000647"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.770852" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:42.767259" elapsed="0.004526"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.774306" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.771886" elapsed="0.002489"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.771859" elapsed="0.002547"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.796360" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:42.796407" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:42.774594" elapsed="0.021835"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.798211" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.796508" elapsed="0.001758"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.796489" elapsed="0.001802"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:42.798324" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:42.798519" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:42.798562" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:42.754605" elapsed="0.043979"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.800714" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.799148" elapsed="0.001624"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.799130" elapsed="0.001665"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.801354" 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-08-18T20:13:42.800939" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.801907" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.801540" elapsed="0.000393"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.801982" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:42.802158" 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-08-18T20:13:42.798817" elapsed="0.003366"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.802334" 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-08-18T20:13:42.754004" elapsed="0.048794"/>
</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-08-18T20:13:42.709904" elapsed="0.092950"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:42.703123" elapsed="0.099845"/>
</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-08-18T20:13:42.813705" 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-08-18T20:13:42.813856" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.813570" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:42.814472" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859101d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:42.814049" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.814938" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:42.814647" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.815377" 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-08-18T20:13:42.815113" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.815847" 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-08-18T20:13:42.815554" elapsed="0.000319"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.816778" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.816019" elapsed="0.000794"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.817295" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.816970" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.817860" 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-08-18T20:13:42.817526" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.818373" 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-08-18T20:13:42.818052" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.818886" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.818562" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.819396" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.819082" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.819934" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859101d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.819599" 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-08-18T20:13:42.813244" elapsed="0.006794"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.820569" 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-08-18T20:13:42.820185" elapsed="0.000414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.821170" level="INFO">&lt;?xml version="1.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-08-18T20:13:42.820762" 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-08-18T20:13:42.828915" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.828603" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.833713" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.833867" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:42.833966" 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-08-18T20:13:42.829069" elapsed="0.004922"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.834420" 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-08-18T20:13:42.834157" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.837474" 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-08-18T20:13:42.834662" elapsed="0.002885"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:42.840167" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:13:42.837688" elapsed="0.002573"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.837660" 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-08-18T20:13:42.840487" 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-08-18T20:13:42.840815" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.840612" elapsed="0.000276"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:42.840590" elapsed="0.000330"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.840965" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:42.843226" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:42.843289" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:42.828294" elapsed="0.015026"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.845887" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.844123" elapsed="0.001810"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.844098" elapsed="0.001856"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.846486" 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-08-18T20:13:42.846096" elapsed="0.000417"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.847070" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.846674" elapsed="0.000423"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.847146" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:42.847321" 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-08-18T20:13:42.843646" elapsed="0.003699"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.847534" 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-08-18T20:13:42.827725" elapsed="0.020281"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.855735" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.855404" elapsed="0.000377"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.865095" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.866785" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:42.867540" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:42.855918" elapsed="0.011706"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.868738" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:42.868049" elapsed="0.000836"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.874518" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:42.869267" elapsed="0.006171"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.878029" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.875560" elapsed="0.002539"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.875532" elapsed="0.002597"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.957731" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:42.957814" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:42.878320" elapsed="0.079520"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:42.960148" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:42.957976" elapsed="0.002234"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.957941" elapsed="0.002298"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:42.960280" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:13:42.960545" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:42.960626" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:42.855037" elapsed="0.105613"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:42.963289" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:42.961411" elapsed="0.001925"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:42.961392" elapsed="0.001966"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.964008" 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-08-18T20:13:42.963510" elapsed="0.000526"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.964548" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:42.964198" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:42.964623" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:42.964821" 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-08-18T20:13:42.960968" elapsed="0.003878"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:42.965002" 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-08-18T20:13:42.854420" elapsed="0.111052"/>
</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-08-18T20:13:42.810020" elapsed="0.155509"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:42.803219" elapsed="0.162433"/>
</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-08-18T20:13:42.976586" 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-08-18T20:13:42.976770" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.976438" elapsed="0.000363"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:42.977392" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:42.976951" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.977909" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:42.977568" elapsed="0.000368"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.978353" 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-08-18T20:13:42.978085" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:42.978892" 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-08-18T20:13:42.978524" elapsed="0.000395"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:42.980041" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:42.979082" elapsed="0.000990"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.980879" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.980264" elapsed="0.000662"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.981592" 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-08-18T20:13:42.981225" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.982119" 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-08-18T20:13:42.981799" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.982610" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:42.982306" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.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;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-08-18T20:13:42.982815" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.983713" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985913510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:42.983401" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:42.976112" elapsed="0.007717"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.984448" 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-08-18T20:13:42.984000" elapsed="0.000479"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.984883" level="INFO">&lt;?xml version="1.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-08-18T20:13:42.984626" 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-08-18T20:13:42.992651" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:42.992344" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:42.998671" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:42.998904" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:42.999008" 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-08-18T20:13:42.992821" elapsed="0.006250"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:42.999603" 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-08-18T20:13:42.999302" elapsed="0.000347"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.001884" 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-08-18T20:13:42.999854" 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-08-18T20:13:43.004005" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:13:43.002037" elapsed="0.002062"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.002017" elapsed="0.002116"/>
</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-08-18T20:13:43.004363" 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-08-18T20:13:43.004672" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.004490" elapsed="0.000272"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:43.004468" elapsed="0.000329"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.004916" elapsed="0.000024"/>
</return>
<msg time="2026-08-18T20:13:43.007309" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:43.007372" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:42.991966" 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-08-18T20:13:43.010524" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.008293" elapsed="0.002294"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.008267" elapsed="0.002350"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.011641" 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-08-18T20:13:43.010897" elapsed="0.000784"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.012649" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.012018" elapsed="0.000670"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.012777" elapsed="0.000090"/>
</return>
<msg time="2026-08-18T20:13:43.013144" 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-08-18T20:13:43.007775" elapsed="0.005406"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.013547" elapsed="0.000769"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:42.991405" elapsed="0.023043"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.022768" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.022460" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.032956" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.034333" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:43.035075" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:43.022922" elapsed="0.012247"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.036242" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:43.035524" elapsed="0.000831"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.042552" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:43.036670" elapsed="0.007361"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.045868" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.044105" elapsed="0.001813"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.044085" elapsed="0.001854"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.067930" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:43.067976" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:43.046074" elapsed="0.021925"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:43.069848" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.068076" elapsed="0.001828"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.068057" elapsed="0.001871"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:43.069962" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:43.070154" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:43.070197" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:43.022088" elapsed="0.048131"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.072428" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.070774" elapsed="0.001701"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.070741" elapsed="0.001756"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.073060" 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-08-18T20:13:43.072642" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.073635" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.073244" elapsed="0.000417"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.073710" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:43.073927" 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-08-18T20:13:43.070431" elapsed="0.003521"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.074106" 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-08-18T20:13:43.021376" elapsed="0.053218"/>
</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-08-18T20:13:42.972909" elapsed="0.101740"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:42.966006" elapsed="0.108769"/>
</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-08-18T20:13:43.086102" 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-08-18T20:13:43.086235" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.085964" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:43.086845" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838d60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:43.086410" elapsed="0.000463"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.087409" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:43.087045" elapsed="0.000392"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.087976" 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-08-18T20:13:43.087621" elapsed="0.000382"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.088499" 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-08-18T20:13:43.088186" elapsed="0.000339"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.089614" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.088707" elapsed="0.000939"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.090248" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.089848" elapsed="0.000444"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.090859" 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-08-18T20:13:43.090480" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.091403" 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-08-18T20:13:43.091074" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.091912" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.091592" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.092565" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.092102" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.093094" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838d60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.092775" 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-08-18T20:13:43.085624" elapsed="0.007566"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.093740" 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-08-18T20:13:43.093335" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.094173" level="INFO">&lt;?xml version="1.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-08-18T20:13:43.093934" 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-08-18T20:13:43.101852" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.101513" elapsed="0.000365"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.107092" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.107247" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:43.107344" 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-08-18T20:13:43.102007" elapsed="0.005362"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.107836" 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-08-18T20:13:43.107559" elapsed="0.000361"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.110356" 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-08-18T20:13:43.108061" elapsed="0.002348"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:43.112869" elapsed="0.000041"/>
</return>
<status status="PASS" start="2026-08-18T20:13:43.110541" elapsed="0.002423"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.110496" elapsed="0.002504"/>
</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-08-18T20:13:43.113195" 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-08-18T20:13:43.113529" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.113342" elapsed="0.000260"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:43.113317" elapsed="0.000317"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.113680" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:43.116050" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:43.116113" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:43.101205" elapsed="0.014939"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.119522" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.117018" elapsed="0.002569"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.116992" elapsed="0.002625"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.120766" 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-08-18T20:13:43.119983" elapsed="0.000828"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.121977" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.121158" elapsed="0.000862"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.122092" elapsed="0.000098"/>
</return>
<msg time="2026-08-18T20:13:43.122425" 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-08-18T20:13:43.116523" elapsed="0.005937"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.122697" elapsed="0.000476"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:43.100644" elapsed="0.022593"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.131115" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.130789" elapsed="0.000354"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.140798" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.142587" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:43.143818" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:43.131279" elapsed="0.012609"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.145874" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:43.144420" elapsed="0.001578"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.152281" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:43.146344" elapsed="0.006781"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.155350" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.153247" elapsed="0.002160"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.153219" elapsed="0.002210"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.180025" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:43.180072" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:43.155614" elapsed="0.024480"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:43.181934" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.180174" elapsed="0.001862"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.180155" elapsed="0.001916"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:43.182108" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:43.182316" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:43.182361" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:43.130345" elapsed="0.052038"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.184880" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.183034" elapsed="0.001891"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.182964" elapsed="0.001983"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.185654" 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-08-18T20:13:43.185161" elapsed="0.000521"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.186365" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.185859" elapsed="0.000538"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.186448" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:43.186679" 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-08-18T20:13:43.182601" elapsed="0.004103"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.186893" 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-08-18T20:13:43.129712" elapsed="0.057643"/>
</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-08-18T20:13:43.082338" elapsed="0.105073"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:43.075118" elapsed="0.112405"/>
</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-08-18T20:13:43.198614" 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-08-18T20:13:43.198766" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.198474" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:43.199409" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cd1850&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:43.198982" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.199942" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:43.199588" elapsed="0.000381"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.200450" 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-08-18T20:13:43.200122" elapsed="0.000355"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.200917" 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-08-18T20:13:43.200626" elapsed="0.000317"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.201959" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.201141" elapsed="0.000850"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.202484" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.202148" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.203179" 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-08-18T20:13:43.202796" elapsed="0.000477"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.203870" 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-08-18T20:13:43.203430" elapsed="0.000485"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.204537" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.204115" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.205210" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.204842" elapsed="0.000495"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.205948" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cd1850&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.205506" elapsed="0.000488"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:43.198133" elapsed="0.007962"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.206811" 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-08-18T20:13:43.206280" elapsed="0.000566"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.207244" level="INFO">&lt;?xml version="1.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-08-18T20:13:43.206997" 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-08-18T20:13:43.215436" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.215077" elapsed="0.000389"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.220959" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.221083" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:43.221229" 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-08-18T20:13:43.215597" elapsed="0.005664"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.221735" 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-08-18T20:13:43.221425" elapsed="0.000375"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.223995" 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-08-18T20:13:43.221943" 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-08-18T20:13:43.225826" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:43.224115" elapsed="0.001778"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.224096" elapsed="0.001821"/>
</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-08-18T20:13:43.226087" 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-08-18T20:13:43.226308" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.226178" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:43.226162" elapsed="0.000219"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.226412" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:13:43.228377" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:43.228439" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:43.214719" elapsed="0.013751"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.231512" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.229244" elapsed="0.002332"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.229219" elapsed="0.002386"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.232374" 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-08-18T20:13:43.231824" elapsed="0.000587"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.233131" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.232626" elapsed="0.000541"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.233235" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:43.233480" 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-08-18T20:13:43.228781" elapsed="0.004734"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.233729" 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-08-18T20:13:43.214152" elapsed="0.020214"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.244175" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.243880" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.253415" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.254456" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:43.254907" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:43.244327" elapsed="0.010617"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.255513" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:43.255164" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.259857" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:43.255872" elapsed="0.004903"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.263306" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.260875" elapsed="0.002500"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.260849" elapsed="0.002620"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.290363" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:43.290410" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:43.263677" elapsed="0.026756"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:43.292226" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.290514" elapsed="0.001768"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.290495" elapsed="0.001812"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:43.292342" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:43.292588" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:43.292632" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:43.243499" elapsed="0.049155"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.294801" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.293214" elapsed="0.001632"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.293196" elapsed="0.001672"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.295422" 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-08-18T20:13:43.295012" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.295989" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.295616" elapsed="0.000399"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.296064" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:43.296242" 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-08-18T20:13:43.292886" elapsed="0.003380"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.296426" 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-08-18T20:13:43.242898" elapsed="0.054008"/>
</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-08-18T20:13:43.194618" elapsed="0.102343"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:43.187800" elapsed="0.109276"/>
</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-08-18T20:13:43.308716" 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-08-18T20:13:43.308871" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.308578" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:43.309475" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad43b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:43.309050" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.309986" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:43.309654" elapsed="0.000360"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.310485" 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-08-18T20:13:43.310211" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.310979" 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-08-18T20:13:43.310691" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.311960" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.311151" elapsed="0.000840"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.312519" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.312192" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.313084" 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-08-18T20:13:43.312764" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.313594" 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-08-18T20:13:43.313273" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.314104" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.313795" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.314683" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.314293" elapsed="0.000436"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.315349" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad43b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.314938" elapsed="0.000455"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:43.308240" elapsed="0.007248"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.316142" 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-08-18T20:13:43.315699" elapsed="0.000512"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.316908" level="INFO">&lt;?xml version="1.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-08-18T20:13:43.316365" elapsed="0.000611"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.324874" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.324539" elapsed="0.000362"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.329547" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.329674" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:43.329791" 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-08-18T20:13:43.325028" elapsed="0.004790"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.330225" 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-08-18T20:13:43.329974" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.332842" 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-08-18T20:13:43.330409" elapsed="0.002486"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:43.335185" elapsed="0.000036"/>
</return>
<status status="PASS" start="2026-08-18T20:13:43.333041" elapsed="0.002228"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.333019" elapsed="0.002278"/>
</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-08-18T20:13:43.335494" 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-08-18T20:13:43.335812" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.335652" elapsed="0.000215"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:43.335633" elapsed="0.000257"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.335922" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:43.337515" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:43.337560" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:43.324203" 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-08-18T20:13:43.339823" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.338135" elapsed="0.001754"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.338117" elapsed="0.001802"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.340697" 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-08-18T20:13:43.340116" elapsed="0.000619"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.341490" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.340989" elapsed="0.000539"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.341597" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:13:43.341869" 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-08-18T20:13:43.337808" elapsed="0.004096"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.342119" 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-08-18T20:13:43.323639" elapsed="0.019256"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.354096" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.353800" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.363417" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.365312" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:43.366071" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:43.354255" elapsed="0.011885"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.367274" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:43.366595" elapsed="0.000799"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.374246" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:43.367737" elapsed="0.008066"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.379896" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.375983" elapsed="0.003965"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.375936" elapsed="0.004034"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.401458" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:43.401508" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:43.380126" elapsed="0.021405"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:43.403392" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.401613" elapsed="0.001838"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.401593" elapsed="0.001887"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:43.403519" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:43.403720" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:43.403794" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:43.353413" elapsed="0.050412"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.405981" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.404395" elapsed="0.001633"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.404376" elapsed="0.001674"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.406623" 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-08-18T20:13:43.406194" elapsed="0.000458"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.407208" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.406838" elapsed="0.000401"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.407297" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:13:43.407502" 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-08-18T20:13:43.404052" 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-08-18T20:13:43.407701" 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-08-18T20:13:43.352793" elapsed="0.055394"/>
</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-08-18T20:13:43.304589" elapsed="0.103657"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:43.297341" elapsed="0.111031"/>
</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-08-18T20:13:43.419260" 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-08-18T20:13:43.419400" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.419116" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:43.420028" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853226b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:43.419582" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.420535" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:43.420208" elapsed="0.000354"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.421007" 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-08-18T20:13:43.420715" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.421468" 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-08-18T20:13:43.421183" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.422371" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.421644" elapsed="0.000760"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.422922" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.422566" elapsed="0.000400"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.423495" 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-08-18T20:13:43.423158" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.424036" 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-08-18T20:13:43.423690" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.424552" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.424229" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.425083" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.424760" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.425617" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853226b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.425285" 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-08-18T20:13:43.418785" elapsed="0.006931"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.426273" 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-08-18T20:13:43.425880" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.426761" level="INFO">&lt;?xml version="1.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-08-18T20:13:43.426487" 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-08-18T20:13:43.434582" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.434267" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.439516" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.439639" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:43.439737" 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-08-18T20:13:43.434737" elapsed="0.005047"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.440270" 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-08-18T20:13:43.440002" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.442439" 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-08-18T20:13:43.440462" 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-08-18T20:13:43.444342" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:43.442561" elapsed="0.001849"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.442542" 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-08-18T20:13:43.444627" 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-08-18T20:13:43.444881" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.444728" elapsed="0.000206"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:43.444710" elapsed="0.000247"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.444991" elapsed="0.000018"/>
</return>
<msg time="2026-08-18T20:13:43.446669" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:43.446721" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:43.433958" elapsed="0.012820"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.449799" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.447586" elapsed="0.002280"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.447561" elapsed="0.002336"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.450690" 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-08-18T20:13:43.450100" elapsed="0.000628"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.451482" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.450975" elapsed="0.000544"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.451594" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:43.451866" 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-08-18T20:13:43.447117" elapsed="0.004786"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.452121" 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-08-18T20:13:43.433400" elapsed="0.019393"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.462439" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.462101" elapsed="0.000367"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.471645" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.472712" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:43.473118" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:43.462597" elapsed="0.010557"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.473719" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:43.473372" elapsed="0.000431"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.477912" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:43.473997" elapsed="0.004875"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.481403" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.478979" elapsed="0.002493"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.478952" elapsed="0.002551"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.503968" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:43.504016" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:43.481695" elapsed="0.022343"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:43.505820" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.504116" elapsed="0.001762"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.504097" elapsed="0.001804"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:43.505936" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:43.506128" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:43.506181" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:43.461704" elapsed="0.044500"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.508314" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.506756" elapsed="0.001603"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.506724" elapsed="0.001657"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.508938" 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-08-18T20:13:43.508524" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.509468" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.509123" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.509542" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:43.509717" 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-08-18T20:13:43.506415" elapsed="0.003345"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.509917" 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-08-18T20:13:43.461073" elapsed="0.049315"/>
</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-08-18T20:13:43.415515" elapsed="0.094929"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:43.408611" elapsed="0.101944"/>
</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-08-18T20:13:43.521241" 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-08-18T20:13:43.521374" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.521105" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:43.521973" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad5da0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:43.521550" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.522448" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:43.522171" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.522907" 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-08-18T20:13:43.522623" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.523345" 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-08-18T20:13:43.523080" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.524208" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.523516" elapsed="0.000722"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.524715" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.524390" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.525279" 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-08-18T20:13:43.524961" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.525802" 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-08-18T20:13:43.525468" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.526307" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.525991" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.526824" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.526497" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.527328" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985ad5da0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.527016" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:43.520781" elapsed="0.006642"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.527994" 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-08-18T20:13:43.527566" elapsed="0.000460"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.528437" level="INFO">&lt;?xml version="1.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-08-18T20:13:43.528183" 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-08-18T20:13:43.536288" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.535994" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.540382" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.540505" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:43.540602" 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-08-18T20:13:43.536441" elapsed="0.004185"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.541070" 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-08-18T20:13:43.540817" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.543291" 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-08-18T20:13:43.541255" 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-08-18T20:13:43.545171" elapsed="0.000034"/>
</return>
<status status="PASS" start="2026-08-18T20:13:43.543411" elapsed="0.001835"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.543392" 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-08-18T20:13:43.545446" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:43.545670" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.545535" elapsed="0.000185"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:43.545519" elapsed="0.000237"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.545790" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:43.547833" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:43.547896" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:43.535670" elapsed="0.012258"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.550928" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.548671" elapsed="0.002321"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.548646" elapsed="0.002376"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.551820" 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-08-18T20:13:43.551240" elapsed="0.000617"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.552563" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.552080" elapsed="0.000519"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.552668" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:43.552938" 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-08-18T20:13:43.548219" 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-08-18T20:13:43.553189" elapsed="0.000530"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:43.535124" elapsed="0.018708"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.563172" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.562880" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.573543" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.574623" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:43.575052" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:43.563324" elapsed="0.011769"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.575687" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:43.575321" elapsed="0.000461"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.579851" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:43.575989" elapsed="0.004793"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.583195" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.580884" elapsed="0.002360"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.580857" elapsed="0.002409"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.605541" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:43.605589" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:43.583403" elapsed="0.022210"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:43.607470" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.605700" elapsed="0.001826"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.605680" elapsed="0.001870"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:43.607584" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:43.607805" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:43.607850" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:43.562496" elapsed="0.045376"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.610097" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.608429" elapsed="0.001718"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.608408" elapsed="0.001761"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.610737" 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-08-18T20:13:43.610315" elapsed="0.000466"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.611299" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.610950" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.611373" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:43.611548" 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-08-18T20:13:43.608092" 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-08-18T20:13:43.611726" 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-08-18T20:13:43.561858" elapsed="0.050336"/>
</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-08-18T20:13:43.517564" elapsed="0.094686"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:43.510822" elapsed="0.101542"/>
</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-08-18T20:13:43.623780" 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-08-18T20:13:43.623939" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.623609" elapsed="0.000360"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:43.624542" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985322930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:43.624120" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.625015" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:43.624719" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.625453" 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-08-18T20:13:43.625188" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.625914" 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-08-18T20:13:43.625623" elapsed="0.000320"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.626992" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.626107" elapsed="0.000928"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.627705" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.627248" elapsed="0.000536"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.628541" 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-08-18T20:13:43.628059" elapsed="0.000542"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.629279" 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-08-18T20:13:43.628830" elapsed="0.000505"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.630025" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.629541" elapsed="0.000550"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.630770" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.630299" elapsed="0.000546"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.631508" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985322930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.631055" elapsed="0.000515"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:43.623278" elapsed="0.008369"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.632437" 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-08-18T20:13:43.631885" elapsed="0.000595"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.633079" level="INFO">&lt;?xml version="1.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-08-18T20:13:43.632701" elapsed="0.000474"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.641502" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.641200" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.646839" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.646994" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:43.647094" 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-08-18T20:13:43.641657" elapsed="0.005464"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.647537" 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-08-18T20:13:43.647278" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.649680" 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-08-18T20:13:43.647722" elapsed="0.002009"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:43.651561" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:43.649820" elapsed="0.001812"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.649798" 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-08-18T20:13:43.651861" 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-08-18T20:13:43.652096" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.651963" elapsed="0.000185"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:43.651943" elapsed="0.000234"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.652212" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:43.653872" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:43.653927" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:43.640886" elapsed="0.013067"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.656726" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.654503" elapsed="0.002308"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.654484" elapsed="0.002358"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.657592" 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-08-18T20:13:43.657042" elapsed="0.000587"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.658369" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.657883" elapsed="0.000522"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.658473" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:43.658790" 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-08-18T20:13:43.654166" elapsed="0.004667"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.659046" elapsed="0.000535"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:43.640310" elapsed="0.019361"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.669524" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.669205" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.679711" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.680823" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:43.681211" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:43.669680" elapsed="0.011568"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.681909" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:43.681486" elapsed="0.000490"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.686122" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:43.682176" elapsed="0.004898"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.689625" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.687177" elapsed="0.002517"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.687150" elapsed="0.002575"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.711270" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:43.711317" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:43.690006" elapsed="0.021334"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:43.713125" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.711418" elapsed="0.001762"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.711400" elapsed="0.001804"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:43.713237" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:43.713431" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:43.713473" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:43.668798" elapsed="0.044700"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.715710" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.714103" elapsed="0.001672"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.714084" elapsed="0.001714"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.716366" 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-08-18T20:13:43.715954" elapsed="0.000446"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.716949" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.716563" elapsed="0.000412"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.717024" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:43.717203" 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-08-18T20:13:43.713752" 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-08-18T20:13:43.717389" 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-08-18T20:13:43.668160" elapsed="0.049729"/>
</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-08-18T20:13:43.620040" elapsed="0.097903"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:43.612678" elapsed="0.105380"/>
</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-08-18T20:13:43.728871" 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-08-18T20:13:43.729006" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.728712" elapsed="0.000323"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:43.729614" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a71ee0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:43.729192" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.730122" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:43.729823" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.730576" 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-08-18T20:13:43.730307" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.731040" 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-08-18T20:13:43.730763" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.731921" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.731211" elapsed="0.000741"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.732434" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.732105" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.733032" 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-08-18T20:13:43.732677" elapsed="0.000405"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.733569" 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-08-18T20:13:43.733234" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.734129" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:43.733803" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.734646" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:43.734329" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.735195" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a71ee0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.734872" 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-08-18T20:13:43.728379" elapsed="0.006922"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.735847" 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-08-18T20:13:43.735450" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.736266" level="INFO">&lt;?xml version="1.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-08-18T20:13:43.736025" 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-08-18T20:13:43.744137" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.743842" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.748314" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.748435" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:43.748540" 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-08-18T20:13:43.744297" elapsed="0.004269"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.749008" 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-08-18T20:13:43.748723" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.751222" 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-08-18T20:13:43.749196" 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-08-18T20:13:43.753128" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:43.751342" elapsed="0.001856"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.751323" 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-08-18T20:13:43.753401" 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-08-18T20:13:43.753641" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.753503" elapsed="0.000211"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:43.753485" elapsed="0.000253"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.753788" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:13:43.755412" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:43.755457" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:43.743520" elapsed="0.011959"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.757581" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.756027" elapsed="0.001600"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.756009" elapsed="0.001666"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.758231" 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-08-18T20:13:43.757837" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.758935" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.758432" elapsed="0.000539"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.759039" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:13:43.759287" 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-08-18T20:13:43.755686" 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-08-18T20:13:43.759551" elapsed="0.000581"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:43.742971" elapsed="0.017263"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.771064" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.770768" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.780430" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.782207" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:43.782908" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:43.771216" elapsed="0.011756"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.783979" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:43.783347" elapsed="0.000735"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.790686" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:43.784414" elapsed="0.006956"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.793184" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.791442" elapsed="0.001791"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.791423" elapsed="0.001832"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.815165" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:43.815212" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:43.793392" elapsed="0.021843"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:43.817044" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.815315" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.815296" elapsed="0.001829"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:43.817159" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:13:43.817353" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:43.817396" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:43.770222" elapsed="0.047196"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.819588" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.817988" elapsed="0.001646"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.817970" elapsed="0.001687"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.820218" 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-08-18T20:13:43.819816" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.820787" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.820406" elapsed="0.000415"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.820872" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:43.821053" 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-08-18T20:13:43.817643" 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-08-18T20:13:43.821232" 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-08-18T20:13:43.769323" elapsed="0.052372"/>
</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-08-18T20:13:43.725101" elapsed="0.096665"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:43.718324" elapsed="0.103556"/>
</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-08-18T20:13:43.832851" 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-08-18T20:13:43.832984" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:43.832698" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:43.833589" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985322570&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:43.833163" elapsed="0.000455"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.834057" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:43.833782" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.834499" 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-08-18T20:13:43.834233" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.834955" 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-08-18T20:13:43.834672" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.835883" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:43.835128" elapsed="0.000785"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.836390" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.836067" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.836994" 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-08-18T20:13:43.836650" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.837542" 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-08-18T20:13:43.837187" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.838067" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:43.837737" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.838578" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:43.838262" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.839105" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985322570&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.838786" 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-08-18T20:13:43.832374" elapsed="0.006829"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.839732" 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-08-18T20:13:43.839349" elapsed="0.000428"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.840166" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:43.839926" 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-08-18T20:13:43.848156" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.847857" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.853172" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.853290" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:43.853386" 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-08-18T20:13:43.848310" elapsed="0.005101"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.853859" 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-08-18T20:13:43.853589" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.855981" 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-08-18T20:13:43.854045" elapsed="0.001987"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:43.857858" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:13:43.856100" elapsed="0.001827"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.856081" 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-08-18T20:13:43.858089" 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-08-18T20:13:43.858308" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.858179" elapsed="0.000179"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:43.858163" elapsed="0.000217"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.858411" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:13:43.860014" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:43.860059" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:43.847532" elapsed="0.012549"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.862198" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.860613" elapsed="0.001629"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.860595" elapsed="0.001669"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.862964" 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-08-18T20:13:43.862406" elapsed="0.000594"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.863699" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.863220" elapsed="0.000515"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.863823" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:13:43.864071" 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-08-18T20:13:43.860288" elapsed="0.003818"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.864318" 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-08-18T20:13:43.846982" elapsed="0.017970"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.875438" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.875144" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.884527" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.886380" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:43.887082" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:43.875589" elapsed="0.011556"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.888169" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:43.887524" elapsed="0.000751"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.895085" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:43.888607" elapsed="0.007194"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.897666" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.895878" elapsed="0.001839"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.895858" elapsed="0.001904"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.917420" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:43.917469" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:43.897905" elapsed="0.019587"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:43.919311" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.917573" elapsed="0.001795"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.917552" elapsed="0.001840"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:43.919426" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:43.919622" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:43.919665" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:43.874768" elapsed="0.044919"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.921853" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.920246" elapsed="0.001653"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.920228" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.922471" 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-08-18T20:13:43.922066" elapsed="0.000432"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.923040" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.922657" elapsed="0.000409"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.923116" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:13:43.923310" 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-08-18T20:13:43.919915" elapsed="0.003422"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.923504" 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-08-18T20:13:43.873900" elapsed="0.050097"/>
</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-08-18T20:13:43.829078" elapsed="0.094980"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:43.822128" elapsed="0.102051"/>
</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-08-18T20:13:43.935301" 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-08-18T20:13:43.935439" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:43.935164" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:43.936068" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a45e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:43.935615" elapsed="0.000481"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.936525" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:43.936246" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.936986" 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-08-18T20:13:43.936700" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:43.937442" 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-08-18T20:13:43.937160" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:43.938375" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:43.937616" elapsed="0.000789"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.938914" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.938561" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.939505" 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-08-18T20:13:43.939167" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.940109" 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-08-18T20:13:43.939712" elapsed="0.000453"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.940673" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:43.940339" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.941245" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:43.940913" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.941902" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a45e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:43.941549" elapsed="0.000397"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:43.934836" elapsed="0.007165"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.942573" 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-08-18T20:13:43.942160" elapsed="0.000445"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.943186" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:43.942775" elapsed="0.000476"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.950858" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.950537" elapsed="0.000348"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.956055" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.956185" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:43.956286" 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-08-18T20:13:43.951013" elapsed="0.005298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.956820" 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-08-18T20:13:43.956479" elapsed="0.000391"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.959102" 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-08-18T20:13:43.957024" elapsed="0.002137"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:43.961044" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-08-18T20:13:43.959232" elapsed="0.001883"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.959213" 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-08-18T20:13:43.961313" 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-08-18T20:13:43.961557" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:43.961421" elapsed="0.000188"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:43.961402" elapsed="0.000230"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.961664" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:43.963948" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:43.964009" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:43.950227" elapsed="0.013814"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.967034" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.964816" elapsed="0.002281"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.964789" elapsed="0.002338"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.967899" 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-08-18T20:13:43.967326" elapsed="0.000610"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.968638" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:43.968156" elapsed="0.000518"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:43.968760" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:13:43.969013" 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-08-18T20:13:43.964335" elapsed="0.004713"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:43.969275" 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-08-18T20:13:43.949661" elapsed="0.020264"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.979140" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:43.978796" elapsed="0.000371"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:43.987241" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:43.988205" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:43.988600" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:43.979295" elapsed="0.009341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.989257" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:43.988883" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:43.993397" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:43.989518" elapsed="0.004892"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:43.996957" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:43.994517" elapsed="0.002509"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:43.994490" elapsed="0.002566"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.017203" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:44.017253" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:43.997278" elapsed="0.019998"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:44.019161" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.017370" elapsed="0.001857"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.017346" elapsed="0.001914"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:44.019297" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:44.019509" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:44.019554" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:43.978410" elapsed="0.041166"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.021804" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.020187" elapsed="0.001663"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.020167" elapsed="0.001705"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.022418" 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-08-18T20:13:44.022015" elapsed="0.000431"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.022994" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.022605" elapsed="0.000417"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.023071" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:44.023251" 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-08-18T20:13:44.019826" 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-08-18T20:13:44.023430" 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-08-18T20:13:43.977802" elapsed="0.046099"/>
</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-08-18T20:13:43.931579" elapsed="0.092393"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:43.924463" elapsed="0.099623"/>
</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-08-18T20:13:44.035060" 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-08-18T20:13:44.035197" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:44.034923" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:44.035809" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857ccb30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:44.035376" elapsed="0.000461"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.036261" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:44.035987" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.036703" 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-08-18T20:13:44.036436" elapsed="0.000292"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.037199" 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-08-18T20:13:44.036893" elapsed="0.000332"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.038117" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:44.037379" elapsed="0.000769"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.038628" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.038303" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.039243" 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-08-18T20:13:44.038892" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.039824" 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-08-18T20:13:44.039446" elapsed="0.000424"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.040375" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:44.040033" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.040954" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:44.040605" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.041549" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857ccb30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.041207" 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-08-18T20:13:44.034582" elapsed="0.007067"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.042229" 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-08-18T20:13:44.041828" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.042675" level="INFO">&lt;?xml version="1.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-08-18T20:13:44.042422" 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-08-18T20:13:44.050829" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:44.050514" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:44.055784" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:44.055912" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:44.056009" 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-08-18T20:13:44.050984" elapsed="0.005050"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.056442" 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-08-18T20:13:44.056191" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.059219" 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-08-18T20:13:44.056631" elapsed="0.002693"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:44.061859" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:13:44.059431" elapsed="0.002563"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.059403" elapsed="0.002631"/>
</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-08-18T20:13:44.062230" 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-08-18T20:13:44.062540" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.062357" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:44.062334" elapsed="0.000309"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.062687" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:13:44.065027" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:44.065168" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:44.050201" elapsed="0.015005"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.067637" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.065959" elapsed="0.001723"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.065941" elapsed="0.001868"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.068462" 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-08-18T20:13:44.067989" elapsed="0.000500"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.069092" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.068679" elapsed="0.000440"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.069168" elapsed="0.000067"/>
</return>
<msg time="2026-08-18T20:13:44.069408" 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-08-18T20:13:44.065498" elapsed="0.003973"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:44.069635" elapsed="0.000470"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:44.049586" elapsed="0.020583"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.078222" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:44.077850" elapsed="0.000399"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:44.087579" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:44.088678" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:44.089135" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:44.078377" elapsed="0.010812"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.089834" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:44.089453" elapsed="0.000447"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.094015" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:44.090098" 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-08-18T20:13:44.097477" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.095040" elapsed="0.002506"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.095013" elapsed="0.002567"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.120480" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:44.120527" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:44.097800" elapsed="0.022750"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:44.122454" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.120630" elapsed="0.001884"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.120611" elapsed="0.001928"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:44.122572" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:44.122788" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:44.122833" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:44.077466" elapsed="0.045389"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.125068" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.123406" elapsed="0.001709"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.123388" elapsed="0.001749"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.125711" 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-08-18T20:13:44.125282" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.126276" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.125915" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.126353" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:13:44.126533" 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-08-18T20:13:44.123074" 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-08-18T20:13:44.126714" 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-08-18T20:13:44.076827" elapsed="0.050352"/>
</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-08-18T20:13:44.031370" elapsed="0.095864"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:44.024342" elapsed="0.103003"/>
</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-08-18T20:13:44.138443" 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-08-18T20:13:44.138580" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:44.138308" elapsed="0.000300"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:44.139182" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857ce750&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:44.138776" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.139636" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:44.139360" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.140102" 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-08-18T20:13:44.139832" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.140543" 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-08-18T20:13:44.140275" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.141472" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:44.140716" elapsed="0.000788"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.142010" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.141662" elapsed="0.000390"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.142562" 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-08-18T20:13:44.142244" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.143095" 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-08-18T20:13:44.142773" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.143607" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:44.143285" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.144150" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:44.143820" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.144706" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857ce750&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.144375" 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-08-18T20:13:44.137981" elapsed="0.006844"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.145370" 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-08-18T20:13:44.144989" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.145805" level="INFO">&lt;?xml version="1.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-08-18T20:13:44.145549" 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-08-18T20:13:44.153901" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:44.153583" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:44.158249" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:44.158370" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:44.158467" 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-08-18T20:13:44.154054" elapsed="0.004438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.158976" 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-08-18T20:13:44.158700" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.161177" 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-08-18T20:13:44.159201" 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-08-18T20:13:44.163166" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-08-18T20:13:44.161337" elapsed="0.001900"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.161277" elapsed="0.001985"/>
</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-08-18T20:13:44.163400" 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-08-18T20:13:44.163697" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.163525" elapsed="0.000240"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:44.163507" elapsed="0.000315"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.163856" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:13:44.165691" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:44.165755" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:44.153264" elapsed="0.012516"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.167881" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.166315" elapsed="0.001610"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.166297" elapsed="0.001650"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.168559" 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-08-18T20:13:44.168134" elapsed="0.000451"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.169116" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.168757" elapsed="0.000385"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.169191" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:44.169368" 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-08-18T20:13:44.165990" elapsed="0.003403"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:44.169544" 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-08-18T20:13:44.152629" elapsed="0.017386"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.177813" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:44.177503" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:44.187779" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:44.188809" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:44.189219" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:44.177965" elapsed="0.011290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.189905" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:44.189478" elapsed="0.000491"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.193985" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:44.190167" elapsed="0.004788"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.197919" elapsed="0.000026"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.195057" elapsed="0.002937"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.195030" elapsed="0.002995"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.222325" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:44.222373" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:44.198263" elapsed="0.024133"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:44.224265" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.222474" elapsed="0.001848"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.222456" elapsed="0.001890"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:44.224380" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:44.224574" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:44.224617" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:44.177135" elapsed="0.047504"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.226782" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.225214" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.225196" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.227392" 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-08-18T20:13:44.226995" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.228033" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.227635" elapsed="0.000423"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.228107" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:44.228283" 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-08-18T20:13:44.224878" elapsed="0.003430"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:44.228460" 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-08-18T20:13:44.176502" elapsed="0.052431"/>
</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-08-18T20:13:44.134764" elapsed="0.094226"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:44.127598" elapsed="0.101501"/>
</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-08-18T20:13:44.241021" 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-08-18T20:13:44.241162" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:44.240838" elapsed="0.000387"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:44.241888" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857cefc0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:44.241377" elapsed="0.000540"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.242418" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:44.242102" elapsed="0.000377"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.242956" 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-08-18T20:13:44.242633" elapsed="0.000350"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.243397" 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-08-18T20:13:44.243130" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.244131" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:44.243568" elapsed="0.000593"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.244779" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.244313" elapsed="0.000518"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.245353" 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-08-18T20:13:44.245026" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.245885" 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-08-18T20:13:44.245545" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.246385" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:44.246076" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.246907" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:44.246578" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.247413" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857cefc0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.247099" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:44.240410" elapsed="0.007098"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.248049" 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-08-18T20:13:44.247653" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.248463" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:44.248226" 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-08-18T20:13:44.256664" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:44.256226" elapsed="0.000465"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:44.261365" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:44.261488" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:44.261584" 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-08-18T20:13:44.256857" elapsed="0.004752"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.262040" 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-08-18T20:13:44.261787" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.264171" 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-08-18T20:13:44.262226" elapsed="0.001995"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:44.266274" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:13:44.264291" elapsed="0.002076"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.264272" elapsed="0.002129"/>
</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-08-18T20:13:44.266651" 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-08-18T20:13:44.266986" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.266801" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:44.266776" elapsed="0.000367"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.267191" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:13:44.269539" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:44.269601" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:44.255917" elapsed="0.013765"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.272980" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.270453" elapsed="0.002592"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.270429" elapsed="0.002691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.274090" 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-08-18T20:13:44.273366" elapsed="0.000803"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.275004" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.274391" elapsed="0.000687"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.275178" elapsed="0.000058"/>
</return>
<msg time="2026-08-18T20:13:44.275465" 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-08-18T20:13:44.269998" elapsed="0.005503"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:44.275834" 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-08-18T20:13:44.255346" elapsed="0.021115"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.284850" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:44.284526" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:44.294349" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:44.296085" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:44.296766" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:44.285004" elapsed="0.011826"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.297807" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:44.297186" elapsed="0.000730"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.304455" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:44.298232" elapsed="0.007652"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.307729" elapsed="0.000029"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.305963" elapsed="0.001831"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.305943" elapsed="0.001873"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.327567" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:44.327613" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:44.307960" elapsed="0.019677"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:44.329470" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.327718" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.327698" elapsed="0.001853"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:44.329585" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:13:44.329808" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:44.329852" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:44.284158" elapsed="0.045716"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.331976" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.330410" elapsed="0.001612"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.330392" elapsed="0.001652"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.332623" 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-08-18T20:13:44.332186" elapsed="0.000467"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.333250" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.332829" elapsed="0.000447"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.333325" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:44.333501" 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-08-18T20:13:44.330084" elapsed="0.003442"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:44.333679" 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-08-18T20:13:44.283500" elapsed="0.050643"/>
</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-08-18T20:13:44.236967" elapsed="0.097231"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:44.229351" elapsed="0.104957"/>
</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-08-18T20:13:44.345006" 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-08-18T20:13:44.345139" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:44.344871" elapsed="0.000296"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:44.345711" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f560&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:44.345315" elapsed="0.000423"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.346173" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:44.345901" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.346610" 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-08-18T20:13:44.346347" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.347062" 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-08-18T20:13:44.346796" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.347876" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:44.347232" elapsed="0.000675"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.348381" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.348058" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.348976" 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-08-18T20:13:44.348634" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.349485" 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-08-18T20:13:44.349167" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.349997" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:44.349672" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.350497" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:44.350187" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.351017" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f560&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.350687" 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-08-18T20:13:44.344502" elapsed="0.006610"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.351631" 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-08-18T20:13:44.351258" elapsed="0.000403"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.352058" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:44.351822" 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-08-18T20:13:44.359873" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:44.359562" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:44.365323" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:44.365441" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:44.365536" 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-08-18T20:13:44.360027" elapsed="0.005534"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.365989" 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-08-18T20:13:44.365717" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.368134" 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-08-18T20:13:44.366173" elapsed="0.002012"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:13:44.370004" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:44.368253" elapsed="0.001818"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.368234" 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-08-18T20:13:44.370232" 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-08-18T20:13:44.370489" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.370355" elapsed="0.000185"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:44.370338" elapsed="0.000225"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.370595" elapsed="0.000017"/>
</return>
<msg time="2026-08-18T20:13:44.372253" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:44.372298" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:44.359255" elapsed="0.013066"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.374457" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.372908" elapsed="0.001593"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.372890" elapsed="0.001633"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.375075" 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-08-18T20:13:44.374665" elapsed="0.000437"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.375602" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.375259" elapsed="0.000369"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.375677" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:44.375870" 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-08-18T20:13:44.372551" elapsed="0.003344"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:44.376048" elapsed="0.000377"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:13:44.358698" elapsed="0.017803"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.384113" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:44.383820" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:44.393198" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:44.394252" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:44.394662" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:44.384265" elapsed="0.010436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.395314" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:44.394947" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.399421" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:44.395579" elapsed="0.004787"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.402659" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.400505" elapsed="0.002208"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.400475" elapsed="0.002263"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.423635" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:44.423685" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:44.402896" elapsed="0.020813"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:44.425532" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.423804" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.423784" elapsed="0.001830"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:44.425648" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:44.425859" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:44.425903" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:44.383433" elapsed="0.042492"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.428043" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.426475" elapsed="0.001613"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.426457" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.428669" 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-08-18T20:13:44.428254" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.429222" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.428871" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.429298" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:13:44.429475" 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-08-18T20:13:44.426146" elapsed="0.003354"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:44.429654" 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-08-18T20:13:44.382835" elapsed="0.047285"/>
</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-08-18T20:13:44.341318" elapsed="0.088858"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:44.334552" elapsed="0.095734"/>
</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-08-18T20:13:44.441208" 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-08-18T20:13:44.441340" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:44.441072" elapsed="0.000297"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:44.441921" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3d2b0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:44.441518" elapsed="0.000431"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.442380" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:44.442098" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.442843" 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-08-18T20:13:44.442556" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.443282" 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-08-18T20:13:44.443016" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.444046" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:44.443453" elapsed="0.000624"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.444580" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.444229" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.445151" 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-08-18T20:13:44.444828" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.445673" 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-08-18T20:13:44.445342" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.446188" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:44.445878" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.446760" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:44.446389" elapsed="0.000419"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.447270" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3d2b0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.446956" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:44.440730" elapsed="0.006636"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.447905" 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-08-18T20:13:44.447511" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.448324" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:13:44.448086" 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-08-18T20:13:44.456214" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:44.455916" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:44.462221" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:44.462342" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:13:44.462438" 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-08-18T20:13:44.456386" elapsed="0.006076"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.462897" 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-08-18T20:13:44.462624" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.465057" 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-08-18T20:13:44.463082" 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-08-18T20:13:44.466912" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:13:44.465176" elapsed="0.001803"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.465158" elapsed="0.001851"/>
</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-08-18T20:13:44.467150" 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-08-18T20:13:44.467405" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.467239" elapsed="0.000219"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:13:44.467223" elapsed="0.000259"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.467514" elapsed="0.000017"/>
</return>
<msg time="2026-08-18T20:13:44.469368" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:13:44.469430" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:13:44.455587" elapsed="0.013874"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.472477" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.470243" elapsed="0.002303"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.470214" elapsed="0.002362"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.473366" 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-08-18T20:13:44.472805" elapsed="0.000606"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.474152" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.473637" elapsed="0.000551"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.474260" elapsed="0.000047"/>
</return>
<msg time="2026-08-18T20:13:44.474517" 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-08-18T20:13:44.469772" elapsed="0.004780"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:44.474787" 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-08-18T20:13:44.455041" elapsed="0.020367"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.484786" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:13:44.484451" elapsed="0.000364"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:44.494188" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:44.495210" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;pa... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:13:44.495594" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:13:44.484948" elapsed="0.010684"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.496249" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:44.495882" elapsed="0.000451"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.500437" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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;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;14&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;804000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;307000000&lt;/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;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;15&lt;/second&gt;&lt;nanosecond&gt;803000000&lt;/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;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;16&lt;/second&gt;&lt;nanosecond&gt;303000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;310000000&lt;/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;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;17&lt;/second&gt;&lt;nanosecond&gt;810000000&lt;/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;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;18&lt;/second&gt;&lt;nanosecond&gt;309000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;313000000&lt;/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;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;20&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;19&lt;/second&gt;&lt;nanosecond&gt;809000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;317000000&lt;/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;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;22&lt;/second&gt;&lt;nanosecond&gt;820000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;315000000&lt;/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;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;21&lt;/second&gt;&lt;nanosecond&gt;814000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;320000000&lt;/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;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;23&lt;/second&gt;&lt;nanosecond&gt;823000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-61&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;8&lt;/second&gt;&lt;nanosecond&gt;789000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-60&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;9&lt;/second&gt;&lt;nanosecond&gt;289000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;825000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/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;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;24&lt;/second&gt;&lt;nanosecond&gt;822000000&lt;/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;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;25&lt;/second&gt;&lt;nanosecond&gt;324000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;830000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-66&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;283000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;328000000&lt;/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;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;26&lt;/second&gt;&lt;nanosecond&gt;828000000&lt;/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;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;27&lt;/second&gt;&lt;nanosecond&gt;326000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-63&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;7&lt;/second&gt;&lt;nanosecond&gt;790000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-62&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;8&lt;/second&gt;&lt;nanosecond&gt;288000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-65&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;6&lt;/second&gt;&lt;nanosecond&gt;788000000&lt;/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;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;28&lt;/second&gt;&lt;nanosecond&gt;832000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-64&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;289000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;332000000&lt;/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;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;14&lt;/second&gt;&lt;nanosecond&gt;302000000&lt;/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;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;29&lt;/second&gt;&lt;nanosecond&gt;835000000&lt;/nanosecond&gt;&lt;/duration&gt;&lt;/flow-statistics&gt;&lt;flags/&gt;&lt;/flow&gt;&lt;flow&gt;&lt;id&gt;#UF$TABLE*2-59&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;9&lt;/second&gt;&lt;nanosecond&gt;792000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;334000000&lt;/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;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;30&lt;/second&gt;&lt;nanosecond&gt;872000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;293000000&lt;/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;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;11&lt;/second&gt;&lt;nanosecond&gt;796000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;286000000&lt;/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;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;10&lt;/second&gt;&lt;nanosecond&gt;791000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;298000000&lt;/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;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;13&lt;/second&gt;&lt;nanosecond&gt;800000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;292000000&lt;/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;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;12&lt;/second&gt;&lt;nanosecond&gt;798000000&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-08-18T20:13:44.496533" elapsed="0.004823"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.503923" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.501457" elapsed="0.002535"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.501430" elapsed="0.002593"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.523929" level="INFO">${pres} = True</msg>
<msg time="2026-08-18T20:13:44.523975" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:13:44.504228" elapsed="0.019770"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:13:44.525785" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:13:44.524076" elapsed="0.001765"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.524057" elapsed="0.001808"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:13:44.525899" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:44.526093" level="INFO">${presence_table} = True</msg>
<msg time="2026-08-18T20:13:44.526136" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:13:44.484030" elapsed="0.042128"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:13:44.528291" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:13:44.526698" elapsed="0.001638"/>
</branch>
<status status="PASS" start="2026-08-18T20:13:44.526680" elapsed="0.001677"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.528925" 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-08-18T20:13:44.528503" elapsed="0.000450"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.529459" level="INFO">${msgp} = it is present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:13:44.529111" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:13:44.529533" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:13:44.529710" 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-08-18T20:13:44.526371" elapsed="0.003364"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:13:44.529904" 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-08-18T20:13:44.483395" elapsed="0.046955"/>
</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-08-18T20:13:44.437407" elapsed="0.092999"/>
</kw>
<status status="PASS" start="2026-08-18T20:13:44.430536" elapsed="0.099980"/>
</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-08-18T20:13:44.531720" level="INFO">f1.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:44.531471" 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-08-18T20:13:44.535277" 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-08-18T20:13:44.535410" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:44.535139" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:44.536005" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8b80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:44.535591" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.536503" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:44.536186" elapsed="0.000343"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.536970" 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-08-18T20:13:44.536677" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:44.537415" 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-08-18T20:13:44.537143" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:44.538173" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:44.537589" elapsed="0.000614"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.538666" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.538355" elapsed="0.000412"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.539227" 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-08-18T20:13:44.538920" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.539758" 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-08-18T20:13:44.539417" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.540284" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:44.539955" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.540802" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:44.540479" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:44.541295" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e8b80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:44.540994" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:44.534789" elapsed="0.006600"/>
</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-08-18T20:13:44.542831" level="INFO">${req} = &lt;Element 'flow' at 0x79a9856e9ad0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:44.542328" elapsed="0.000531"/>
</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-08-18T20:13:44.543006" 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-08-18T20:13:44.543425" 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-08-18T20:13:44.543822" elapsed="0.000299"/>
</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-08-18T20:13:44.544280" elapsed="0.000336"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:44.545047" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856e9710&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-08-18T20:13:44.544781" 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-08-18T20:13:44.545216" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:44.545967" 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-08-18T20:13:44.545601" elapsed="0.000426"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:44.546558" 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-08-18T20:13:44.546169" elapsed="0.000420"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:45.073322" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:45.073569" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:45.073832" 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-08-18T20:13:44.546718" elapsed="0.527176"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.078902" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:45.074295" elapsed="0.004717"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9856e8b80&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-08-18T20:13:44.541983" elapsed="0.537165"/>
</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-08-18T20:13:44.541536" elapsed="0.537798"/>
</kw>
<var name="${flowfile}">f1.xml</var>
<status status="PASS" start="2026-08-18T20:13:44.531327" elapsed="0.548099"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.080341" level="INFO">f2.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:45.079982" 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-08-18T20:13:45.085332" 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-08-18T20:13:45.085528" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:45.085129" elapsed="0.000440"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:45.086377" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9a80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:45.085808" elapsed="0.000609"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:45.087070" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:45.086639" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:45.087733" 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-08-18T20:13:45.087346" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:45.088389" 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-08-18T20:13:45.088009" elapsed="0.000425"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:45.089503" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:45.088644" elapsed="0.000902"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.090232" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:45.089785" elapsed="0.000506"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.090965" 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-08-18T20:13:45.090501" elapsed="0.000523"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.091734" 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-08-18T20:13:45.091268" elapsed="0.000549"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.092370" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:45.092056" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.092900" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:45.092570" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.093418" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9856e9a80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:45.093105" 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-08-18T20:13:45.084616" elapsed="0.008897"/>
</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-08-18T20:13:45.094849" level="INFO">${req} = &lt;Element 'flow' at 0x79a986322ac0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:45.094503" elapsed="0.000376"/>
</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-08-18T20:13:45.095027" elapsed="0.000474"/>
</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-08-18T20:13:45.095651" 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-08-18T20:13:45.096058" elapsed="0.000297"/>
</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-08-18T20:13:45.096504" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:45.097277" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856ea7f0&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-08-18T20:13:45.097009" 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-08-18T20:13:45.097445" elapsed="0.000239"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:45.098187" 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-08-18T20:13:45.097843" elapsed="0.000404"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:45.098771" 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-08-18T20:13:45.098388" elapsed="0.000415"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:45.575188" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:45.575349" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:45.575593" 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-08-18T20:13:45.098929" elapsed="0.476727"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.580605" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:45.576117" elapsed="0.004584"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9856e9a80&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-08-18T20:13:45.094148" elapsed="0.486721"/>
</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-08-18T20:13:45.093672" elapsed="0.487313"/>
</kw>
<var name="${flowfile}">f2.xml</var>
<status status="PASS" start="2026-08-18T20:13:45.079677" elapsed="0.501387"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.582171" level="INFO">f3.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:45.581581" 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-08-18T20:13:45.587445" 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-08-18T20:13:45.587648" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:45.587248" elapsed="0.000440"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:45.588478" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0db0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:45.587919" elapsed="0.000598"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:45.589190" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:45.588785" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:45.589904" 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-08-18T20:13:45.589502" elapsed="0.000438"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:45.590537" 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-08-18T20:13:45.590149" elapsed="0.000424"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:45.591651" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:45.590806" elapsed="0.000898"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.592415" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:45.591972" elapsed="0.000502"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.593188" 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-08-18T20:13:45.592705" elapsed="0.000540"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.593904" 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-08-18T20:13:45.593454" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.594619" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:45.594169" elapsed="0.000512"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.595250" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:45.594933" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:45.595759" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0db0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:45.595442" 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-08-18T20:13:45.586765" elapsed="0.009092"/>
</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-08-18T20:13:45.597126" level="INFO">${req} = &lt;Element 'flow' at 0x79a9855d2610&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:45.596807" elapsed="0.000347"/>
</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-08-18T20:13:45.597293" elapsed="0.000481"/>
</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-08-18T20:13:45.597924" 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-08-18T20:13:45.598303" 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-08-18T20:13:45.598768" elapsed="0.000338"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:45.599520" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986323ec0&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-08-18T20:13:45.599255" 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-08-18T20:13:45.599691" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:45.600439" 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-08-18T20:13:45.600093" elapsed="0.000406"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:45.601025" 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-08-18T20:13:45.600641" elapsed="0.000415"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:46.076189" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:46.076489" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:46.076811" 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-08-18T20:13:45.601183" elapsed="0.475694"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.082137" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:46.077328" elapsed="0.004908"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9855d0db0&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-08-18T20:13:45.596428" elapsed="0.485945"/>
</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-08-18T20:13:45.596003" elapsed="0.486487"/>
</kw>
<var name="${flowfile}">f3.xml</var>
<status status="PASS" start="2026-08-18T20:13:45.581298" elapsed="0.501274"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.083736" level="INFO">f4.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:46.083140" 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-08-18T20:13:46.091365" 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-08-18T20:13:46.091526" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:46.091205" elapsed="0.000350"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:46.092161" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0ef0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:46.091713" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:46.092635" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:46.092349" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:46.093120" 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-08-18T20:13:46.092834" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:46.093594" 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-08-18T20:13:46.093308" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:46.094460" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:46.093788" elapsed="0.000704"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.094997" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:46.094654" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.095509" 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-08-18T20:13:46.095193" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.096039" 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-08-18T20:13:46.095703" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.096552" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:46.096242" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.097067" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:46.096762" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.097600" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d0ef0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:46.097277" 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-08-18T20:13:46.090826" elapsed="0.006874"/>
</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-08-18T20:13:46.099185" level="INFO">${req} = &lt;Element 'flow' at 0x79a9855d1260&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:46.098659" elapsed="0.000555"/>
</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-08-18T20:13:46.099375" 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-08-18T20:13:46.099835" 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-08-18T20:13:46.100239" elapsed="0.000306"/>
</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-08-18T20:13:46.100698" elapsed="0.000375"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:46.101520" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9855d1300&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-08-18T20:13:46.101231" 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-08-18T20:13:46.101732" elapsed="0.000278"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:46.102550" 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-08-18T20:13:46.102158" elapsed="0.000457"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:46.103179" 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-08-18T20:13:46.102781" elapsed="0.000435"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:46.577074" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:46.577271" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:46.577552" 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-08-18T20:13:46.103355" elapsed="0.474274"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.583090" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:46.578185" elapsed="0.005001"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9855d0ef0&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-08-18T20:13:46.098305" elapsed="0.485028"/>
</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-08-18T20:13:46.097867" elapsed="0.485583"/>
</kw>
<var name="${flowfile}">f4.xml</var>
<status status="PASS" start="2026-08-18T20:13:46.082849" elapsed="0.500688"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.584656" level="INFO">f5.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:46.584107" elapsed="0.000677"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:46.588853" 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-08-18T20:13:46.589015" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:46.588669" elapsed="0.000375"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:46.589623" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d16c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:46.589196" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:46.590157" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:46.589873" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:46.590627" 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-08-18T20:13:46.590338" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:46.591096" 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-08-18T20:13:46.590824" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:46.591975" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:46.591271" elapsed="0.000735"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.592485" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:46.592165" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.593052" 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-08-18T20:13:46.592677" elapsed="0.000421"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.593577" 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-08-18T20:13:46.593268" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.594116" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:46.593819" elapsed="0.000341"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.594610" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:46.594308" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:46.595121" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d16c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:46.594817" elapsed="0.000345"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:46.588268" elapsed="0.006948"/>
</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-08-18T20:13:46.596698" level="INFO">${req} = &lt;Element 'flow' at 0x79a9855d02c0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:46.596185" elapsed="0.000540"/>
</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-08-18T20:13:46.596939" 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-08-18T20:13:46.597371" 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-08-18T20:13:46.597768" 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-08-18T20:13:46.598158" elapsed="0.000329"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:46.598916" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9855d2f20&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-08-18T20:13:46.598635" elapsed="0.000308"/>
</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-08-18T20:13:46.599136" elapsed="0.000246"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:46.600071" 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-08-18T20:13:46.599564" elapsed="0.000576"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:46.600791" 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-08-18T20:13:46.600322" elapsed="0.000569"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:47.078021" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:47.078179" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:47.078403" 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-08-18T20:13:46.601028" elapsed="0.477432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.084536" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:47.079061" elapsed="0.005572"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9855d16c0&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-08-18T20:13:46.595839" elapsed="0.488986"/>
</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-08-18T20:13:46.595361" elapsed="0.489597"/>
</kw>
<var name="${flowfile}">f5.xml</var>
<status status="PASS" start="2026-08-18T20:13:46.583822" elapsed="0.501216"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.086270" level="INFO">f6.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:47.085548" elapsed="0.000827"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:47.091501" 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-08-18T20:13:47.091646" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:47.091361" elapsed="0.000314"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:47.092267" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2a70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:47.091844" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:47.092723" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:47.092446" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:47.093183" 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-08-18T20:13:47.092915" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:47.093721" 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-08-18T20:13:47.093403" elapsed="0.000359"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:47.094553" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:47.093911" elapsed="0.000673"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.095072" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:47.094740" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.095561" 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-08-18T20:13:47.095262" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.096118" 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-08-18T20:13:47.095760" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.096703" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:47.096397" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.097216" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:47.096913" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.097715" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f2a70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:47.097408" 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-08-18T20:13:47.091017" elapsed="0.006850"/>
</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-08-18T20:13:47.099346" level="INFO">${req} = &lt;Element 'flow' at 0x79a9857f2750&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:47.099011" elapsed="0.000363"/>
</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-08-18T20:13:47.099516" 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-08-18T20:13:47.099940" 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-08-18T20:13:47.100340" 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-08-18T20:13:47.100726" elapsed="0.000341"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:47.101521" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9857f3c90&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-08-18T20:13:47.101213" 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-08-18T20:13:47.101733" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:47.102492" 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-08-18T20:13:47.102133" elapsed="0.000421"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:47.103098" 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-08-18T20:13:47.102695" elapsed="0.000433"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:47.578910" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:47.579070" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:47.579399" 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-08-18T20:13:47.103253" elapsed="0.476228"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.584461" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:47.579949" elapsed="0.004609"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9857f2a70&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-08-18T20:13:47.098443" elapsed="0.486249"/>
</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-08-18T20:13:47.098017" elapsed="0.486828"/>
</kw>
<var name="${flowfile}">f6.xml</var>
<status status="PASS" start="2026-08-18T20:13:47.085265" elapsed="0.499662"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.586029" level="INFO">f7.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:47.585445" 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-08-18T20:13:47.591570" 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-08-18T20:13:47.591787" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:47.591362" elapsed="0.000468"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:47.592669" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f22f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:47.592078" elapsed="0.000629"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:47.593325" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:47.592939" elapsed="0.000423"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:47.593960" 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-08-18T20:13:47.593568" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:47.594570" 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-08-18T20:13:47.594201" elapsed="0.000405"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:47.595850" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:47.594828" elapsed="0.001066"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.596623" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:47.596165" elapsed="0.000517"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.597342" 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-08-18T20:13:47.596916" elapsed="0.000483"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.598055" 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-08-18T20:13:47.597604" elapsed="0.000509"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.598731" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:47.598319" elapsed="0.000494"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.599702" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:47.599018" elapsed="0.000790"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:47.600304" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f22f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:47.599998" 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-08-18T20:13:47.590889" elapsed="0.009513"/>
</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-08-18T20:13:47.601679" level="INFO">${req} = &lt;Element 'flow' at 0x79a9857f2b60&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:47.601336" 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-08-18T20:13:47.601864" elapsed="0.000263"/>
</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-08-18T20:13:47.602272" elapsed="0.000237"/>
</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-08-18T20:13:47.602653" elapsed="0.000254"/>
</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-08-18T20:13:47.603089" elapsed="0.000344"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:47.603869" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9857f1030&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-08-18T20:13:47.603582" 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-08-18T20:13:47.604040" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:47.604819" 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-08-18T20:13:47.604424" elapsed="0.000461"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:47.605432" 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-08-18T20:13:47.605027" elapsed="0.000435"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:48.079908" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:48.080088" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:48.080336" 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-08-18T20:13:47.605590" elapsed="0.474805"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.084815" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:48.080873" elapsed="0.004005"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9857f22f0&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-08-18T20:13:47.600988" elapsed="0.483977"/>
</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-08-18T20:13:47.600548" elapsed="0.484492"/>
</kw>
<var name="${flowfile}">f7.xml</var>
<status status="PASS" start="2026-08-18T20:13:47.585161" elapsed="0.499930"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.085791" level="INFO">f8.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:48.085428" elapsed="0.000427"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:48.090585" 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-08-18T20:13:48.090826" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:48.090390" elapsed="0.000543"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:48.091779" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389d00&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:48.091148" elapsed="0.000673"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:48.092427" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:48.092035" elapsed="0.000430"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:48.093081" 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-08-18T20:13:48.092673" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:48.093698" 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-08-18T20:13:48.093327" elapsed="0.000408"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:48.095283" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:48.093961" elapsed="0.001366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.095997" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:48.095548" elapsed="0.000491"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.096493" 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-08-18T20:13:48.096190" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.097005" 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-08-18T20:13:48.096681" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.097486" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:48.097192" elapsed="0.000338"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.097997" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:48.097677" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.098490" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389d00&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:48.098189" elapsed="0.000342"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:48.089911" elapsed="0.008675"/>
</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-08-18T20:13:48.099905" level="INFO">${req} = &lt;Element 'flow' at 0x79a9857f2160&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:48.099533" 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-08-18T20:13:48.100073" elapsed="0.000260"/>
</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-08-18T20:13:48.100479" elapsed="0.000233"/>
</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-08-18T20:13:48.100872" elapsed="0.000239"/>
</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-08-18T20:13:48.101254" elapsed="0.000327"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:48.102006" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98538aa20&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-08-18T20:13:48.101728" 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-08-18T20:13:48.102176" elapsed="0.000239"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:48.103037" 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-08-18T20:13:48.102579" elapsed="0.000560"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:48.103702" 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-08-18T20:13:48.103287" elapsed="0.000445"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:48.581377" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:48.581581" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:48.581909" 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-08-18T20:13:48.103877" elapsed="0.478098"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.587098" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:48.582479" elapsed="0.004682"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985389d00&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-08-18T20:13:48.099185" elapsed="0.488067"/>
</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-08-18T20:13:48.098757" elapsed="0.488570"/>
</kw>
<var name="${flowfile}">f8.xml</var>
<status status="PASS" start="2026-08-18T20:13:48.085246" elapsed="0.502134"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.588089" level="INFO">f9.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:48.587720" elapsed="0.000431"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:48.593007" 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-08-18T20:13:48.593267" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:48.592807" elapsed="0.000514"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:48.594194" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538bd30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:48.593539" elapsed="0.000694"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:48.594854" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:48.594443" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:48.595465" 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-08-18T20:13:48.595097" elapsed="0.000403"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:48.596097" 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-08-18T20:13:48.595703" elapsed="0.000430"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:48.597636" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:48.596340" elapsed="0.001339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.598409" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:48.597920" elapsed="0.000548"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.599128" 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-08-18T20:13:48.598682" elapsed="0.000552"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.599699" 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-08-18T20:13:48.599386" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.600206" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:48.599907" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.600700" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:48.600398" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:48.601212" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538bd30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:48.600909" 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-08-18T20:13:48.592300" elapsed="0.009009"/>
</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-08-18T20:13:48.602614" level="INFO">${req} = &lt;Element 'flow' at 0x79a985388fe0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:48.602267" elapsed="0.000374"/>
</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-08-18T20:13:48.602798" elapsed="0.000261"/>
</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-08-18T20:13:48.603206" elapsed="0.000232"/>
</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-08-18T20:13:48.603583" 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-08-18T20:13:48.603980" elapsed="0.000327"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:48.604718" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985389e40&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-08-18T20:13:48.604456" 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-08-18T20:13:48.604902" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:48.605673" 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-08-18T20:13:48.605285" elapsed="0.000473"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:48.606394" 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-08-18T20:13:48.605948" elapsed="0.000477"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:49.083368" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:49.083716" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:49.084074" 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-08-18T20:13:48.606567" elapsed="0.477575"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.089802" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:49.084656" elapsed="0.005254"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a98538bd30&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-08-18T20:13:48.601906" elapsed="0.488145"/>
</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-08-18T20:13:48.601457" elapsed="0.488714"/>
</kw>
<var name="${flowfile}">f9.xml</var>
<status status="PASS" start="2026-08-18T20:13:48.587540" elapsed="0.502717"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.091875" level="INFO">f10.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:49.090968" elapsed="0.000954"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:49.095557" 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-08-18T20:13:49.095726" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:49.095408" elapsed="0.000363"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:49.096370" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe0c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:49.095928" elapsed="0.000471"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:49.096850" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:49.096548" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:49.097296" 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-08-18T20:13:49.097028" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:49.097820" 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-08-18T20:13:49.097502" elapsed="0.000346"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:49.098966" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:49.097997" elapsed="0.001001"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.099485" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:49.099156" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.100001" 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-08-18T20:13:49.099676" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.100498" 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-08-18T20:13:49.100191" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.101003" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:49.100687" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.101525" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:49.101195" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.102214" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abe0c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:49.101725" elapsed="0.000546"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:49.095030" elapsed="0.007319"/>
</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-08-18T20:13:49.104323" level="INFO">${req} = &lt;Element 'flow' at 0x79a98538bc90&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:49.103734" elapsed="0.000629"/>
</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-08-18T20:13:49.104565" elapsed="0.000424"/>
</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-08-18T20:13:49.105224" elapsed="0.000380"/>
</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-08-18T20:13:49.105840" elapsed="0.000499"/>
</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-08-18T20:13:49.106555" elapsed="0.000535"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:49.107680" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9856eaca0&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-08-18T20:13:49.107303" 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-08-18T20:13:49.107950" elapsed="0.000342"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:49.109102" 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-08-18T20:13:49.108520" elapsed="0.000679"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:49.109999" 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-08-18T20:13:49.109403" elapsed="0.000627"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:49.584198" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:49.584414" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:49.584710" 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-08-18T20:13:49.110165" elapsed="0.474653"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.590027" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:49.585352" elapsed="0.004740"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985abe0c0&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-08-18T20:13:49.103180" elapsed="0.487015"/>
</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-08-18T20:13:49.102555" elapsed="0.487734"/>
</kw>
<var name="${flowfile}">f10.xml</var>
<status status="PASS" start="2026-08-18T20:13:49.090519" elapsed="0.499824"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.591099" level="INFO">f11.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:49.590706" elapsed="0.000457"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:49.596056" 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-08-18T20:13:49.596352" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:49.595853" elapsed="0.000541"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:49.597243" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abff60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:49.596603" elapsed="0.000681"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:49.597912" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:49.597498" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:49.598532" 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-08-18T20:13:49.598159" elapsed="0.000410"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:49.599420" 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-08-18T20:13:49.598797" elapsed="0.000660"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:49.600735" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:49.599664" elapsed="0.001136"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.601512" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:49.601059" elapsed="0.000511"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.602155" 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-08-18T20:13:49.601822" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.602648" 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-08-18T20:13:49.602342" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.603157" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:49.602850" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.603666" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:49.603357" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:49.604202" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abff60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:49.603886" 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-08-18T20:13:49.595345" elapsed="0.008953"/>
</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-08-18T20:13:49.605645" level="INFO">${req} = &lt;Element 'flow' at 0x79a985388090&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:49.605285" 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-08-18T20:13:49.605833" 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-08-18T20:13:49.606254" 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-08-18T20:13:49.606636" 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-08-18T20:13:49.607039" elapsed="0.000330"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:49.607801" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abca90&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-08-18T20:13:49.607516" 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-08-18T20:13:49.607970" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:49.608758" 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-08-18T20:13:49.608353" elapsed="0.000527"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:49.609448" 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-08-18T20:13:49.609032" elapsed="0.000446"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:50.085462" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:50.085652" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:50.086000" 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-08-18T20:13:49.609607" elapsed="0.476455"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.092911" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:50.086503" elapsed="0.006471"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985abff60&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-08-18T20:13:49.604924" elapsed="0.488137"/>
</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-08-18T20:13:49.604449" elapsed="0.488683"/>
</kw>
<var name="${flowfile}">f11.xml</var>
<status status="PASS" start="2026-08-18T20:13:49.590512" elapsed="0.502668"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.093918" level="INFO">f14.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:50.093538" 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-08-18T20:13:50.098894" 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-08-18T20:13:50.099109" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:50.098675" elapsed="0.000475"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:50.100042" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abecf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:50.099356" elapsed="0.000728"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:50.100690" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:50.100298" elapsed="0.000429"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:50.101335" 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-08-18T20:13:50.100957" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:50.102022" 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-08-18T20:13:50.101618" elapsed="0.000430"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:50.102962" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:50.102196" elapsed="0.000796"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.103470" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:50.103149" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.103989" 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-08-18T20:13:50.103662" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.104546" 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-08-18T20:13:50.104232" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.105054" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:50.104737" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.105568" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:50.105249" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.106087" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abecf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:50.105781" 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-08-18T20:13:50.098193" elapsed="0.007990"/>
</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-08-18T20:13:50.107473" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abcb80&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:50.107120" 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-08-18T20:13:50.107640" 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-08-18T20:13:50.108060" elapsed="0.000235"/>
</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-08-18T20:13:50.108440" elapsed="0.000241"/>
</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-08-18T20:13:50.108855" elapsed="0.055307"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:50.164779" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abcd10&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-08-18T20:13:50.164406" elapsed="0.000403"/>
</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-08-18T20:13:50.164960" elapsed="0.000250"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:50.165786" 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-08-18T20:13:50.165358" elapsed="0.000499"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:50.166427" 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-08-18T20:13:50.166008" elapsed="0.000451"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:50.587274" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:50.587592" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:50.587966" 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-08-18T20:13:50.166594" elapsed="0.421438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.593683" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:50.588528" elapsed="0.005303"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985abecf0&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-08-18T20:13:50.106770" elapsed="0.487217"/>
</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-08-18T20:13:50.106329" elapsed="0.487776"/>
</kw>
<var name="${flowfile}">f14.xml</var>
<status status="PASS" start="2026-08-18T20:13:50.093332" elapsed="0.500851"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.595598" level="INFO">f15.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:50.594709" elapsed="0.001011"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:50.600010" 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-08-18T20:13:50.600180" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:50.599816" elapsed="0.000400"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:50.600851" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd1c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:50.600380" elapsed="0.000503"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:50.601328" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:50.601039" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:50.601830" 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-08-18T20:13:50.601507" elapsed="0.000351"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:50.602294" 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-08-18T20:13:50.602018" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:50.603228" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:50.602468" elapsed="0.000792"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.603784" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:50.603435" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.604312" 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-08-18T20:13:50.603983" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.604881" 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-08-18T20:13:50.604508" elapsed="0.000430"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.605504" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:50.605134" elapsed="0.000417"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.606103" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:50.605786" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:50.606607" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abd1c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:50.606299" 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-08-18T20:13:50.599330" elapsed="0.007373"/>
</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-08-18T20:13:50.608495" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abde90&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:50.608020" elapsed="0.000505"/>
</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-08-18T20:13:50.608711" elapsed="0.000422"/>
</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-08-18T20:13:50.609304" elapsed="0.000290"/>
</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-08-18T20:13:50.609803" elapsed="0.000388"/>
</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-08-18T20:13:50.610346" elapsed="0.000387"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:50.611223" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abde40&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-08-18T20:13:50.610906" elapsed="0.000348"/>
</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-08-18T20:13:50.611402" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:50.612195" 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-08-18T20:13:50.611814" elapsed="0.000458"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:50.612845" 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-08-18T20:13:50.612420" elapsed="0.000456"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:51.087788" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:51.088053" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:51.088473" 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-08-18T20:13:50.613004" elapsed="0.475541"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.094240" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:51.089143" elapsed="0.005246"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985abd1c0&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-08-18T20:13:50.607551" elapsed="0.487098"/>
</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-08-18T20:13:50.606866" elapsed="0.487972"/>
</kw>
<var name="${flowfile}">f15.xml</var>
<status status="PASS" start="2026-08-18T20:13:50.594422" elapsed="0.500489"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.095963" level="INFO">f16.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:51.095407" elapsed="0.000656"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:51.104046" 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-08-18T20:13:51.104284" 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-08-18T20:13:51.103829" elapsed="0.000575"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:51.105270" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e930&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:51.104635" elapsed="0.000676"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:51.105936" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:51.105522" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:51.106618" 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-08-18T20:13:51.106179" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:51.107137" 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-08-18T20:13:51.106866" elapsed="0.000298"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:51.110073" 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-08-18T20:13:51.107317" elapsed="0.002801"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.110643" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:51.110300" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.111189" 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-08-18T20:13:51.110867" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.111695" 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-08-18T20:13:51.111383" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.112433" 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-08-18T20:13:51.111913" elapsed="0.000568"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.112965" 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-08-18T20:13:51.112634" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.113472" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e930&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:51.113160" 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-08-18T20:13:51.103255" elapsed="0.010318"/>
</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-08-18T20:13:51.117047" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abf380&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:51.116663" elapsed="0.000412"/>
</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-08-18T20:13:51.117218" 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-08-18T20:13:51.117640" elapsed="0.000279"/>
</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-08-18T20:13:51.118113" 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-08-18T20:13:51.118511" elapsed="0.000363"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:51.119308" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abd1c0&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-08-18T20:13:51.119025" elapsed="0.000318"/>
</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-08-18T20:13:51.119490" elapsed="0.001822"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:51.122465" 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-08-18T20:13:51.122013" elapsed="0.000597"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:51.123210" 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-08-18T20:13:51.122782" elapsed="0.000462"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:51.610790" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:51.610943" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:51.611147" 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-08-18T20:13:51.123386" elapsed="0.487799"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.614488" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:51.611538" elapsed="0.003016"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985a3e930&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-08-18T20:13:51.116203" elapsed="0.498441"/>
</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-08-18T20:13:51.114207" elapsed="0.500511"/>
</kw>
<var name="${flowfile}">f16.xml</var>
<status status="PASS" start="2026-08-18T20:13:51.095129" elapsed="0.519663"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.615484" level="INFO">f17.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:51.615134" 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-08-18T20:13:51.622056" 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-08-18T20:13:51.622221" 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-08-18T20:13:51.621800" elapsed="0.000450"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:51.622846" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc7c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:51.622400" elapsed="0.000474"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:51.623306" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:51.623024" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:51.623763" 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-08-18T20:13:51.623481" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:51.624210" 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-08-18T20:13:51.623939" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:51.625104" 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-08-18T20:13:51.624384" elapsed="0.000753"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.625649" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:51.625304" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.626355" 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-08-18T20:13:51.625866" elapsed="0.000532"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.626875" 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-08-18T20:13:51.626548" elapsed="0.000425"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.627423" 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-08-18T20:13:51.627123" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.627937" 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-08-18T20:13:51.627616" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:51.628442" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abc7c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:51.628130" 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-08-18T20:13:51.620899" elapsed="0.007655"/>
</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-08-18T20:13:51.629889" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abe930&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:51.629531" 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-08-18T20:13:51.630060" 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-08-18T20:13:51.630472" elapsed="0.000234"/>
</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-08-18T20:13:51.630865" 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-08-18T20:13:51.631255" elapsed="0.000332"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:51.632019" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abed40&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-08-18T20:13:51.631736" elapsed="0.000310"/>
</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-08-18T20:13:51.632192" elapsed="0.000244"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:51.632990" 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-08-18T20:13:51.632580" elapsed="0.000474"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:51.633594" 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-08-18T20:13:51.633201" elapsed="0.000424"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:52.090071" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:52.090375" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:52.090694" 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-08-18T20:13:51.633767" elapsed="0.457021"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.095721" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:52.091233" elapsed="0.004618"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985abc7c0&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-08-18T20:13:51.629169" elapsed="0.466823"/>
</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-08-18T20:13:51.628701" elapsed="0.467407"/>
</kw>
<var name="${flowfile}">f17.xml</var>
<status status="PASS" start="2026-08-18T20:13:51.614953" elapsed="0.481234"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.097300" level="INFO">f18.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:52.096711" 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-08-18T20:13:52.101699" 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-08-18T20:13:52.101885" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:52.101545" elapsed="0.000371"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:52.102478" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e980&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:52.102064" elapsed="0.000443"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:52.102954" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:52.102657" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:52.103397" 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-08-18T20:13:52.103129" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:52.103856" 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-08-18T20:13:52.103572" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:52.104636" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:52.104032" elapsed="0.000634"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.105162" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:52.104840" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.105661" 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-08-18T20:13:52.105351" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.106180" 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-08-18T20:13:52.105870" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.106858" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:52.106368" elapsed="0.000537"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.107360" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:52.107055" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.107872" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e980&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:52.107555" 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-08-18T20:13:52.101196" elapsed="0.006773"/>
</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-08-18T20:13:52.109225" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abe610&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:52.108902" elapsed="0.000350"/>
</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-08-18T20:13:52.109391" elapsed="0.000281"/>
</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-08-18T20:13:52.109841" elapsed="0.000234"/>
</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-08-18T20:13:52.110255" 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-08-18T20:13:52.110643" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:52.111399" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abfa10&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-08-18T20:13:52.111137" elapsed="0.000288"/>
</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-08-18T20:13:52.111584" elapsed="0.000260"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:52.112343" 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-08-18T20:13:52.111990" elapsed="0.000431"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:52.112981" 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-08-18T20:13:52.112575" elapsed="0.000437"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:52.591279" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:52.591419" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:52.591649" 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-08-18T20:13:52.113139" elapsed="0.478569"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.596520" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:52.592106" elapsed="0.004511"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985a3e980&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-08-18T20:13:52.108537" elapsed="0.488233"/>
</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-08-18T20:13:52.108115" elapsed="0.488775"/>
</kw>
<var name="${flowfile}">f18.xml</var>
<status status="PASS" start="2026-08-18T20:13:52.096424" elapsed="0.500543"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.598075" level="INFO">f19.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:52.597467" 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-08-18T20:13:52.604250" 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-08-18T20:13:52.604378" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:52.604116" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:52.604958" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f600&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:52.604553" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:52.605406" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:52.605133" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:52.605911" 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-08-18T20:13:52.605616" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:52.606353" 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-08-18T20:13:52.606085" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:52.607095" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:52.606525" elapsed="0.000600"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.607592" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:52.607279" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.608101" 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-08-18T20:13:52.607798" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.608593" 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-08-18T20:13:52.608289" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.609089" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:52.608794" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.609578" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:52.609280" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:52.610263" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f600&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:52.609796" 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-08-18T20:13:52.603783" elapsed="0.006578"/>
</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-08-18T20:13:52.611598" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abeca0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:52.611283" elapsed="0.000342"/>
</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-08-18T20:13:52.611778" elapsed="0.000256"/>
</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-08-18T20:13:52.612179" elapsed="0.000229"/>
</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-08-18T20:13:52.612586" elapsed="0.000322"/>
</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-08-18T20:13:52.613059" elapsed="0.000357"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:52.613960" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abed90&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-08-18T20:13:52.613592" elapsed="0.000401"/>
</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-08-18T20:13:52.614183" elapsed="0.000302"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:52.615033" 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-08-18T20:13:52.614671" elapsed="0.000423"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:52.615601" 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-08-18T20:13:52.615236" elapsed="0.000395"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:53.092807" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:53.093027" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:53.093314" 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-08-18T20:13:52.615807" elapsed="0.477569"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.098309" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:53.093851" elapsed="0.004558"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985a3f600&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-08-18T20:13:52.610941" elapsed="0.487603"/>
</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-08-18T20:13:52.610507" elapsed="0.488157"/>
</kw>
<var name="${flowfile}">f19.xml</var>
<status status="PASS" start="2026-08-18T20:13:52.597188" elapsed="0.501586"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.099911" level="INFO">f20.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:53.099319" 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-08-18T20:13:53.105625" 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-08-18T20:13:53.105802" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:53.105481" elapsed="0.000352"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:53.106393" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9350&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:53.105982" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:53.106876" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:53.106571" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:53.107318" 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-08-18T20:13:53.107051" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:53.107775" 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-08-18T20:13:53.107493" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:53.108533" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:53.107956" elapsed="0.000608"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.109056" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:53.108722" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.109551" 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-08-18T20:13:53.109248" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.110069" 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-08-18T20:13:53.109739" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.110554" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:53.110257" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.111086" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:53.110761" elapsed="0.000423"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.111829" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9350&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:53.111334" elapsed="0.000540"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:53.105128" elapsed="0.006801"/>
</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-08-18T20:13:53.113194" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a3db70&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:53.112872" elapsed="0.000350"/>
</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-08-18T20:13:53.113364" elapsed="0.000261"/>
</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-08-18T20:13:53.113787" 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-08-18T20:13:53.114171" elapsed="0.000240"/>
</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-08-18T20:13:53.114557" elapsed="0.000374"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:53.115345" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a3f1f0&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-08-18T20:13:53.115080" 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-08-18T20:13:53.115515" elapsed="0.000256"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:53.116251" 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-08-18T20:13:53.115914" elapsed="0.000397"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:53.116837" 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-08-18T20:13:53.116452" elapsed="0.000416"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:53.593357" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:53.593537" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:53.593845" 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-08-18T20:13:53.116996" elapsed="0.476913"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.599170" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:53.594342" elapsed="0.004953"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9896b9350&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-08-18T20:13:53.112508" elapsed="0.486956"/>
</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-08-18T20:13:53.112078" elapsed="0.487542"/>
</kw>
<var name="${flowfile}">f20.xml</var>
<status status="PASS" start="2026-08-18T20:13:53.099032" elapsed="0.500689"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.601180" level="INFO">f21.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:53.600451" elapsed="0.000974"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:53.607900" 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-08-18T20:13:53.608106" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:53.607700" elapsed="0.000445"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:53.608896" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b95d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:53.608334" elapsed="0.000597"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:53.609466" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:53.609121" elapsed="0.000378"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:53.610055" 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-08-18T20:13:53.609690" elapsed="0.000401"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:53.610638" 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-08-18T20:13:53.610296" elapsed="0.000374"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:53.611809" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:53.610878" elapsed="0.000969"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.612497" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:53.612062" elapsed="0.000487"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.613385" 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-08-18T20:13:53.612757" elapsed="0.000684"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.614048" 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-08-18T20:13:53.613638" elapsed="0.000461"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.614658" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:53.614291" elapsed="0.000425"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.615308" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:53.614927" elapsed="0.000438"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:53.615972" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b95d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:53.615555" elapsed="0.000472"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:53.607255" elapsed="0.008842"/>
</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-08-18T20:13:53.617714" level="INFO">${req} = &lt;Element 'flow' at 0x79a985abf880&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:53.617276" elapsed="0.000489"/>
</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-08-18T20:13:53.617922" 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-08-18T20:13:53.618382" 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-08-18T20:13:53.618782" 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-08-18T20:13:53.619174" elapsed="0.000335"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:53.619951" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abe430&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-08-18T20:13:53.619658" 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-08-18T20:13:53.620122" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:53.620901" 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-08-18T20:13:53.620505" elapsed="0.000499"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:53.621557" 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-08-18T20:13:53.621155" elapsed="0.000433"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:54.094244" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:54.094437" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:54.094725" 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-08-18T20:13:53.621717" elapsed="0.473102"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.099993" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:54.095270" elapsed="0.004838"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9896b95d0&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-08-18T20:13:53.616834" elapsed="0.483422"/>
</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-08-18T20:13:53.616285" elapsed="0.484087"/>
</kw>
<var name="${flowfile}">f21.xml</var>
<status status="PASS" start="2026-08-18T20:13:53.600047" elapsed="0.500404"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.101575" level="INFO">f22.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:54.101017" 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-08-18T20:13:54.105859" 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-08-18T20:13:54.106037" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:54.105689" elapsed="0.000381"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:54.106660" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2a250&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:54.106219" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:54.107134" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:54.106853" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:54.107574" 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-08-18T20:13:54.107309" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:54.108034" 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-08-18T20:13:54.107761" elapsed="0.000299"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:54.109122" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:54.108208" elapsed="0.000945"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.109698" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:54.109346" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.110244" 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-08-18T20:13:54.109915" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.110838" 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-08-18T20:13:54.110508" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.111331" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:54.111031" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.111847" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:54.111527" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.112353" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2a250&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:54.112042" 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-08-18T20:13:54.105333" elapsed="0.007118"/>
</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-08-18T20:13:54.113761" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a3ff60&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:54.113396" 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-08-18T20:13:54.113961" 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-08-18T20:13:54.114381" 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-08-18T20:13:54.114784" 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-08-18T20:13:54.115183" elapsed="0.000337"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:54.115963" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a3fc40&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-08-18T20:13:54.115673" elapsed="0.000318"/>
</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-08-18T20:13:54.116135" elapsed="0.000245"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:54.116923" 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-08-18T20:13:54.116524" elapsed="0.000466"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:54.117544" 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-08-18T20:13:54.117135" elapsed="0.000441"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:54.595693" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:54.596066" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:54.596443" 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-08-18T20:13:54.117706" elapsed="0.478803"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.602161" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:54.597097" elapsed="0.005172"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a987c2a250&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-08-18T20:13:54.113049" elapsed="0.489375"/>
</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-08-18T20:13:54.112598" elapsed="0.489944"/>
</kw>
<var name="${flowfile}">f22.xml</var>
<status status="PASS" start="2026-08-18T20:13:54.100699" elapsed="0.501922"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.603810" level="INFO">f23.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:54.603189" elapsed="0.000729"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:54.608129" 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-08-18T20:13:54.608302" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:54.607962" elapsed="0.000372"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:54.608990" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a10bd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:54.608489" elapsed="0.000535"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:54.609488" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:54.609182" elapsed="0.000334"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:54.609975" 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-08-18T20:13:54.609664" elapsed="0.000338"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:54.610458" 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-08-18T20:13:54.610151" elapsed="0.000334"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:54.611586" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:54.610642" elapsed="0.000974"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.612136" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:54.611793" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.612653" 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-08-18T20:13:54.612340" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.613180" 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-08-18T20:13:54.612863" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.613688" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:54.613385" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.614217" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:54.613901" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:54.614733" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a10bd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:54.614424" 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-08-18T20:13:54.607572" 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-08-18T20:13:54.616221" level="INFO">${req} = &lt;Element 'flow' at 0x79a98630d710&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:54.615805" elapsed="0.000451"/>
</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-08-18T20:13:54.616400" 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-08-18T20:13:54.616828" 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-08-18T20:13:54.617245" 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-08-18T20:13:54.617634" elapsed="0.000350"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:54.618395" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985abc360&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-08-18T20:13:54.618132" elapsed="0.000290"/>
</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-08-18T20:13:54.618564" elapsed="0.000255"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:54.619346" 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-08-18T20:13:54.618962" elapsed="0.000450"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:54.619998" 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-08-18T20:13:54.619554" elapsed="0.000475"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:55.097356" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:55.097539" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:55.097844" 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-08-18T20:13:54.620156" elapsed="0.477750"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.103088" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:55.098337" elapsed="0.004851"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985a10bd0&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-08-18T20:13:54.615437" elapsed="0.487886"/>
</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-08-18T20:13:54.614995" elapsed="0.488444"/>
</kw>
<var name="${flowfile}">f23.xml</var>
<status status="PASS" start="2026-08-18T20:13:54.602897" elapsed="0.500621"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.104388" level="INFO">f24.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:55.104012" 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-08-18T20:13:55.108915" 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-08-18T20:13:55.109150" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:55.108761" elapsed="0.000419"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:55.109765" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cefbf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:55.109331" elapsed="0.000465"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:55.110233" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:55.109948" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:55.110690" 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-08-18T20:13:55.110406" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:55.111174" 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-08-18T20:13:55.110896" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:55.112139" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:55.111349" elapsed="0.000822"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.112659" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:55.112332" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.113171" 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-08-18T20:13:55.112867" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.113668" 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-08-18T20:13:55.113362" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.114165" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:55.113870" elapsed="0.000340"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.114674" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:55.114356" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.115190" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cefbf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:55.114888" elapsed="0.000344"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:13:55.108284" elapsed="0.007004"/>
</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-08-18T20:13:55.116556" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a3c950&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:55.116236" elapsed="0.000348"/>
</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-08-18T20:13:55.116723" elapsed="0.000281"/>
</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-08-18T20:13:55.117150" 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-08-18T20:13:55.117531" 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-08-18T20:13:55.117933" elapsed="0.000333"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:55.118705" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a3cc70&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-08-18T20:13:55.118414" elapsed="0.000318"/>
</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-08-18T20:13:55.118896" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:55.119622" 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-08-18T20:13:55.119280" elapsed="0.000453"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:55.120296" 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-08-18T20:13:55.119894" elapsed="0.000441"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:55.598276" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:55.598450" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:55.598781" 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-08-18T20:13:55.120498" elapsed="0.478350"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.604076" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:55.599295" elapsed="0.004884"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a987cefbf0&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-08-18T20:13:55.115883" elapsed="0.488444"/>
</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-08-18T20:13:55.115433" elapsed="0.489025"/>
</kw>
<var name="${flowfile}">f24.xml</var>
<status status="PASS" start="2026-08-18T20:13:55.103781" elapsed="0.500757"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.605859" level="INFO">f25.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:55.605117" elapsed="0.000834"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:55.609373" 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-08-18T20:13:55.609579" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:55.609225" elapsed="0.000386"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:55.610229" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef3d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:55.609783" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:55.610697" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:55.610408" elapsed="0.000316"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:55.611160" 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-08-18T20:13:55.610890" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:55.611603" 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-08-18T20:13:55.611332" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:55.612725" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:55.611794" elapsed="0.000978"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.613258" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:55.612932" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.613791" 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-08-18T20:13:55.613462" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.614342" 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-08-18T20:13:55.614013" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.614857" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:55.614541" elapsed="0.000452"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.615663" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:55.615235" elapsed="0.000491"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:55.616389" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef3d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:55.615963" 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-08-18T20:13:55.608862" elapsed="0.007663"/>
</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-08-18T20:13:55.618360" level="INFO">${req} = &lt;Element 'flow' at 0x79a9896ba840&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:55.617865" elapsed="0.000533"/>
</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-08-18T20:13:55.618592" elapsed="0.000383"/>
</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-08-18T20:13:55.619181" 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-08-18T20:13:55.619713" elapsed="0.000363"/>
</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-08-18T20:13:55.620283" elapsed="0.000483"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:55.621370" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9896ba9d0&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-08-18T20:13:55.620973" elapsed="0.000437"/>
</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-08-18T20:13:55.621613" elapsed="0.000384"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:55.622561" 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-08-18T20:13:55.622171" elapsed="0.000455"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:55.623193" 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-08-18T20:13:55.622782" elapsed="0.000442"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:56.099526" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:56.099847" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:56.100124" 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-08-18T20:13:55.623350" elapsed="0.476836"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.105180" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:56.100616" elapsed="0.004663"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a987cef3d0&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-08-18T20:13:55.617358" elapsed="0.488056"/>
</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-08-18T20:13:55.616730" elapsed="0.488805"/>
</kw>
<var name="${flowfile}">f25.xml</var>
<status status="PASS" start="2026-08-18T20:13:55.604814" elapsed="0.500801"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.106427" level="INFO">f31.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:56.106080" 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-08-18T20:13:56.111289" 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-08-18T20:13:56.111503" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:56.111093" elapsed="0.000451"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:56.112343" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c391c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:56.111772" elapsed="0.000611"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:56.113009" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:56.112591" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:56.113628" 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-08-18T20:13:56.113254" elapsed="0.000410"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:56.114269" 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-08-18T20:13:56.113890" elapsed="0.000416"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:56.116926" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:56.114514" elapsed="0.002453"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.117451" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:56.117127" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.117968" 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-08-18T20:13:56.117643" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.118469" 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-08-18T20:13:56.118158" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.118974" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:56.118659" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.119468" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:56.119166" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.119985" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c391c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:56.119660" 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-08-18T20:13:56.110590" elapsed="0.009492"/>
</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-08-18T20:13:56.121368" level="INFO">${req} = &lt;Element 'flow' at 0x79a987cb9d50&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:56.121042" elapsed="0.000353"/>
</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-08-18T20:13:56.121536" 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-08-18T20:13:56.121961" elapsed="0.000237"/>
</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-08-18T20:13:56.122344" elapsed="0.000298"/>
</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-08-18T20:13:56.122806" elapsed="0.000331"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:56.123551" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a987cd0680&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-08-18T20:13:56.123286" 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-08-18T20:13:56.123722" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:56.124476" 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-08-18T20:13:56.124124" elapsed="0.000413"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:56.125090" 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-08-18T20:13:56.124691" elapsed="0.000430"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:56.600049" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:56.600244" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:56.600525" 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-08-18T20:13:56.125248" elapsed="0.475338"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.605400" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:56.601057" elapsed="0.004406"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a987c391c0&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-08-18T20:13:56.120665" elapsed="0.484887"/>
</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-08-18T20:13:56.120228" elapsed="0.485399"/>
</kw>
<var name="${flowfile}">f31.xml</var>
<status status="PASS" start="2026-08-18T20:13:56.105885" elapsed="0.499792"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.606418" level="INFO">f36.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:56.606040" elapsed="0.000457"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:56.611377" 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-08-18T20:13:56.611606" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:56.611124" elapsed="0.000524"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:56.612482" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cee8e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:56.611883" elapsed="0.000640"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:56.613148" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:56.612732" elapsed="0.000518"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:56.613865" 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-08-18T20:13:56.613465" elapsed="0.000437"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:56.614494" 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-08-18T20:13:56.614109" elapsed="0.000423"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:56.615638" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:56.614741" elapsed="0.000941"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.616434" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:56.615932" elapsed="0.000565"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.617125" 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-08-18T20:13:56.616721" elapsed="0.000448"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.617881" 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-08-18T20:13:56.617321" elapsed="0.000609"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.618398" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:56.618083" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.618984" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:56.618595" elapsed="0.000435"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:56.619494" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cee8e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:56.619180" 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-08-18T20:13:56.610619" elapsed="0.008971"/>
</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-08-18T20:13:56.620913" level="INFO">${req} = &lt;Element 'flow' at 0x79a986357dd0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:56.620558" 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-08-18T20:13:56.621085" 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-08-18T20:13:56.621500" elapsed="0.000232"/>
</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-08-18T20:13:56.621892" elapsed="0.000240"/>
</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-08-18T20:13:56.622276" elapsed="0.000334"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:56.623039" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a986356a20&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-08-18T20:13:56.622775" elapsed="0.000290"/>
</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-08-18T20:13:56.623209" elapsed="0.000238"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:56.623964" 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-08-18T20:13:56.623589" elapsed="0.000462"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:56.624606" 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-08-18T20:13:56.624213" elapsed="0.000424"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:57.106338" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:57.106511" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:57.106818" 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-08-18T20:13:56.624824" elapsed="0.482057"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.111942" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:57.107338" elapsed="0.004720"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a987cee8e0&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-08-18T20:13:56.620208" elapsed="0.491989"/>
</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-08-18T20:13:56.619738" elapsed="0.492578"/>
</kw>
<var name="${flowfile}">f36.xml</var>
<status status="PASS" start="2026-08-18T20:13:56.605859" elapsed="0.506538"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.113503" level="INFO">f38.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:57.112950" elapsed="0.000652"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:57.118908" 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-08-18T20:13:57.119074" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:57.118764" elapsed="0.000339"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:57.119669" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cee750&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:57.119253" elapsed="0.000445"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:57.120163" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:57.119864" elapsed="0.000326"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:57.120609" 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-08-18T20:13:57.120338" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:57.121073" 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-08-18T20:13:57.120798" elapsed="0.000301"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:57.121906" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:57.121246" elapsed="0.000691"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.122417" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:57.122095" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.122926" 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-08-18T20:13:57.122611" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.123422" 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-08-18T20:13:57.123116" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.124121" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:57.123610" elapsed="0.000558"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.124680" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:57.124316" elapsed="0.000411"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.125202" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cee750&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:57.124893" 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-08-18T20:13:57.118404" elapsed="0.006896"/>
</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-08-18T20:13:57.126571" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a11800&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:57.126240" elapsed="0.000359"/>
</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-08-18T20:13:57.126739" 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-08-18T20:13:57.127163" elapsed="0.000234"/>
</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-08-18T20:13:57.127540" elapsed="0.000256"/>
</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-08-18T20:13:57.127967" elapsed="0.000346"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:57.128736" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a987cb9d50&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-08-18T20:13:57.128461" elapsed="0.000324"/>
</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-08-18T20:13:57.128934" elapsed="0.000247"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:57.129685" 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-08-18T20:13:57.129324" elapsed="0.000436"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:57.130287" 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-08-18T20:13:57.129905" elapsed="0.000413"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:57.608381" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:57.608577" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:57.608923" 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-08-18T20:13:57.130446" elapsed="0.478543"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.614349" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:57.609502" elapsed="0.004950"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a987cee750&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-08-18T20:13:57.125890" elapsed="0.488706"/>
</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-08-18T20:13:57.125447" elapsed="0.489468"/>
</kw>
<var name="${flowfile}">f38.xml</var>
<status status="PASS" start="2026-08-18T20:13:57.112635" elapsed="0.502371"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.616308" level="INFO">f43.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:57.615571" elapsed="0.000849"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:13:57.623159" 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-08-18T20:13:57.623335" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:57.623008" elapsed="0.000357"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:57.623995" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2b420&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:57.623521" elapsed="0.000503"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:57.624472" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:57.624184" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:57.624955" 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-08-18T20:13:57.624650" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:57.625422" 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-08-18T20:13:57.625135" elapsed="0.000315"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:57.626321" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:13:57.625601" elapsed="0.000751"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.626858" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:57.626511" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.627373" 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-08-18T20:13:57.627054" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.628115" 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-08-18T20:13:57.627564" elapsed="0.000596"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.628628" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:57.628320" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.629154" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:13:57.628839" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:57.629659" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2b420&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:57.629349" 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-08-18T20:13:57.622627" elapsed="0.007144"/>
</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-08-18T20:13:57.631073" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a1e610&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:57.630699" 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-08-18T20:13:57.631245" 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-08-18T20:13:57.631661" elapsed="0.000284"/>
</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-08-18T20:13:57.632094" elapsed="0.000260"/>
</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-08-18T20:13:57.632505" elapsed="0.000358"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:57.633283" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a1e520&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-08-18T20:13:57.633013" 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-08-18T20:13:57.633510" elapsed="0.000278"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:57.634317" 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-08-18T20:13:57.633938" elapsed="0.000444"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:57.634938" 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-08-18T20:13:57.634526" elapsed="0.000444"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:58.109352" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:58.109526" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:58.109825" 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-08-18T20:13:57.635111" elapsed="0.474777"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.114890" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:58.110319" elapsed="0.004671"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a987c2b420&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-08-18T20:13:57.630351" elapsed="0.484797"/>
</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-08-18T20:13:57.629922" elapsed="0.485351"/>
</kw>
<var name="${flowfile}">f43.xml</var>
<status status="PASS" start="2026-08-18T20:13:57.615253" elapsed="0.500114"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.116606" level="INFO">f45.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:58.115965" 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-08-18T20:13:58.121553" 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-08-18T20:13:58.121721" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:58.121405" elapsed="0.000359"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:58.122341" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef290&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:58.121915" elapsed="0.000460"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:58.122833" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:58.122531" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:58.123271" 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-08-18T20:13:58.123007" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:58.123793" 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-08-18T20:13:58.123508" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:58.124626" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:58.123970" elapsed="0.000688"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.125180" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:58.124849" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.125673" 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-08-18T20:13:58.125372" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.126187" 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-08-18T20:13:58.125880" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.126875" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:13:58.126375" elapsed="0.000547"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.127374" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:13:58.127071" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.127883" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cef290&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:58.127565" 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-08-18T20:13:58.120968" elapsed="0.007012"/>
</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-08-18T20:13:58.129261" level="INFO">${req} = &lt;Element 'flow' at 0x79a98630c450&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:58.128940" elapsed="0.000348"/>
</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-08-18T20:13:58.129429" elapsed="0.000260"/>
</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-08-18T20:13:58.129852" elapsed="0.000233"/>
</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-08-18T20:13:58.130231" elapsed="0.000237"/>
</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-08-18T20:13:58.130613" elapsed="0.000343"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:58.131363" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98630c6d0&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-08-18T20:13:58.131102" elapsed="0.000287"/>
</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-08-18T20:13:58.131530" elapsed="0.000268"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:58.132354" 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-08-18T20:13:58.131955" elapsed="0.000461"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:58.132995" 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-08-18T20:13:58.132569" elapsed="0.000457"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:58.610620" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:58.610988" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:58.611314" 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-08-18T20:13:58.133175" elapsed="0.478216"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.615334" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:58.611916" elapsed="0.003481"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a987cef290&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-08-18T20:13:58.128575" elapsed="0.486913"/>
</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-08-18T20:13:58.128138" elapsed="0.487425"/>
</kw>
<var name="${flowfile}">f45.xml</var>
<status status="PASS" start="2026-08-18T20:13:58.115608" elapsed="0.500007"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.616336" level="INFO">f101.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:58.615983" 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-08-18T20:13:58.621205" 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-08-18T20:13:58.621427" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:58.621002" elapsed="0.000468"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:58.622308" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9da0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:58.621680" elapsed="0.000668"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:58.622968" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:58.622557" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:58.623587" 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-08-18T20:13:58.623214" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:58.624228" 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-08-18T20:13:58.623853" elapsed="0.000412"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:58.625529" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:58.624472" elapsed="0.001102"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.626524" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:58.625815" elapsed="0.000770"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.627252" 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-08-18T20:13:58.626817" elapsed="0.000493"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.627975" 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-08-18T20:13:58.627518" elapsed="0.000516"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.628698" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:58.628245" elapsed="0.000538"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.629445" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:58.628992" elapsed="0.000507"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:58.629974" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9da0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:58.629648" 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-08-18T20:13:58.620474" elapsed="0.009597"/>
</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-08-18T20:13:58.631361" level="INFO">${req} = &lt;Element 'flow' at 0x79a98630fd30&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:58.631006" 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-08-18T20:13:58.631529" elapsed="0.000316"/>
</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-08-18T20:13:58.631994" elapsed="0.000234"/>
</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-08-18T20:13:58.632436" 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-08-18T20:13:58.632860" elapsed="0.000333"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:58.633608" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98630c450&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-08-18T20:13:58.633343" 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-08-18T20:13:58.633795" elapsed="0.000251"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:58.634595" 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-08-18T20:13:58.634190" elapsed="0.000471"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:58.635233" 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-08-18T20:13:58.634822" elapsed="0.000441"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:59.112143" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:59.112336" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:59.112620" 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-08-18T20:13:58.635391" elapsed="0.477289"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.117656" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:59.113160" elapsed="0.004621"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9896b9da0&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-08-18T20:13:58.630643" elapsed="0.487278"/>
</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-08-18T20:13:58.630220" elapsed="0.487822"/>
</kw>
<var name="${flowfile}">f101.xml</var>
<status status="PASS" start="2026-08-18T20:13:58.615800" elapsed="0.502323"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.119236" level="INFO">f102.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:59.118646" 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-08-18T20:13:59.124357" 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-08-18T20:13:59.124518" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:59.124143" elapsed="0.000406"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:59.125162" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c38b30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:59.124700" elapsed="0.000492"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:59.125648" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:59.125345" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:59.126111" 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-08-18T20:13:59.125842" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:59.126553" 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-08-18T20:13:59.126284" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:59.127688" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:59.126729" elapsed="0.000991"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.128216" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:59.127893" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.128709" 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-08-18T20:13:59.128407" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.129223" 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-08-18T20:13:59.128916" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.129719" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:59.129411" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.130227" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:59.129927" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.130719" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c38b30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:59.130419" 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-08-18T20:13:59.123785" elapsed="0.007045"/>
</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-08-18T20:13:59.132113" level="INFO">${req} = &lt;Element 'flow' at 0x79a9896ba660&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:59.131758" 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-08-18T20:13:59.132280" elapsed="0.000259"/>
</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-08-18T20:13:59.132686" 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-08-18T20:13:59.133082" elapsed="0.000238"/>
</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-08-18T20:13:59.133485" elapsed="0.000346"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:59.134243" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a1d8f0&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-08-18T20:13:59.133979" elapsed="0.000290"/>
</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-08-18T20:13:59.134410" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:59.135205" 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-08-18T20:13:59.134808" elapsed="0.000499"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:59.135889" 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-08-18T20:13:59.135454" elapsed="0.000466"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:13:59.612988" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:13:59.613191" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:13:59.613485" 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-08-18T20:13:59.136047" elapsed="0.477498"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.618909" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:59.614036" elapsed="0.004981"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a987c38b30&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-08-18T20:13:59.131401" 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-08-18T20:13:59.130976" elapsed="0.488220"/>
</kw>
<var name="${flowfile}">f102.xml</var>
<status status="PASS" start="2026-08-18T20:13:59.118360" elapsed="0.500887"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.619963" level="INFO">f103.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:13:59.619588" 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-08-18T20:13:59.624826" 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-08-18T20:13:59.625081" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:59.624604" elapsed="0.000521"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:13:59.625968" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3ef20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:13:59.625333" elapsed="0.000674"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:59.626629" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:13:59.626219" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:59.627267" 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-08-18T20:13:59.626894" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:13:59.627895" 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-08-18T20:13:59.627505" elapsed="0.000427"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:13:59.629471" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:59.628136" elapsed="0.001378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.630215" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:59.629733" elapsed="0.000575"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.631066" 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-08-18T20:13:59.630611" elapsed="0.000497"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.631568" 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-08-18T20:13:59.631259" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.632085" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:13:59.631772" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.632614" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:13:59.632287" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:13:59.633143" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3ef20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:13:59.632830" 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-08-18T20:13:59.624076" elapsed="0.009171"/>
</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-08-18T20:13:59.634577" level="INFO">${req} = &lt;Element 'flow' at 0x79a9896ba660&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:13:59.634201" 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-08-18T20:13:59.634767" 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-08-18T20:13:59.635193" 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-08-18T20:13:59.635577" 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-08-18T20:13:59.635988" elapsed="0.000330"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:13:59.636728" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9896b9120&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-08-18T20:13:59.636466" 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-08-18T20:13:59.636913" elapsed="0.000239"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:13:59.637690" 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-08-18T20:13:59.637294" elapsed="0.000478"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:13:59.638339" 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-08-18T20:13:59.637914" elapsed="0.000456"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:00.113715" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:00.114102" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:00.114390" 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-08-18T20:13:59.638496" elapsed="0.475955"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.119597" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:00.114954" elapsed="0.004745"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985a3ef20&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-08-18T20:13:59.633847" elapsed="0.486024"/>
</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-08-18T20:13:59.633399" elapsed="0.486592"/>
</kw>
<var name="${flowfile}">f103.xml</var>
<status status="PASS" start="2026-08-18T20:13:59.619405" elapsed="0.500687"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.121239" level="INFO">f104.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:00.120635" 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-08-18T20:14:00.128563" 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-08-18T20:14:00.128725" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:00.128419" elapsed="0.000350"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:00.129365" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583ae30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:00.128918" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:00.129866" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:00.129557" elapsed="0.000339"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:00.130326" 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-08-18T20:14:00.130044" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:00.130793" 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-08-18T20:14:00.130498" elapsed="0.000323"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:00.131960" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:00.130969" elapsed="0.001022"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.132492" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:00.132156" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.133019" 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-08-18T20:14:00.132688" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.133525" 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-08-18T20:14:00.133213" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.134039" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:00.133718" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.134533" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:00.134231" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.135044" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583ae30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:00.134725" 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-08-18T20:14:00.128057" elapsed="0.007085"/>
</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-08-18T20:14:00.138434" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a3de40&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:00.137086" elapsed="0.001376"/>
</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-08-18T20:14:00.138604" 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-08-18T20:14:00.139030" elapsed="0.000234"/>
</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-08-18T20:14:00.139487" 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-08-18T20:14:00.139906" elapsed="0.000380"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:00.140721" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a1e750&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-08-18T20:14:00.140437" 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-08-18T20:14:00.140918" elapsed="0.000243"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:00.141702" 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-08-18T20:14:00.141304" elapsed="0.000480"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:00.142335" 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-08-18T20:14:00.141927" elapsed="0.000438"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:00.615723" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:00.615964" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:00.616253" 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-08-18T20:14:00.142493" elapsed="0.473820"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.621304" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:00.616812" elapsed="0.004592"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a98583ae30&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-08-18T20:14:00.135734" elapsed="0.485808"/>
</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-08-18T20:14:00.135288" elapsed="0.486372"/>
</kw>
<var name="${flowfile}">f104.xml</var>
<status status="PASS" start="2026-08-18T20:14:00.120337" elapsed="0.501436"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.622893" level="INFO">f105.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:00.622308" 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-08-18T20:14:00.627844" 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-08-18T20:14:00.627996" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:00.627620" elapsed="0.000407"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:00.628619" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399940&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:00.628178" elapsed="0.000469"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:00.629109" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:00.628827" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:00.629557" 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-08-18T20:14:00.629289" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:00.630022" 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-08-18T20:14:00.629731" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:00.630949" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:00.630202" elapsed="0.000779"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.631459" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:00.631137" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.631977" 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-08-18T20:14:00.631651" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.632475" 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-08-18T20:14:00.632168" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.632992" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:00.632677" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.633490" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:00.633187" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:00.634009" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986399940&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:00.633685" 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-08-18T20:14:00.627269" elapsed="0.006835"/>
</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-08-18T20:14:00.635391" level="INFO">${req} = &lt;Element 'flow' at 0x79a98639a020&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:00.635041" elapsed="0.000376"/>
</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-08-18T20:14:00.635556" elapsed="0.000297"/>
</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-08-18T20:14:00.636024" 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-08-18T20:14:00.636438" 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-08-18T20:14:00.636968" elapsed="0.000396"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:00.637833" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9863566b0&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-08-18T20:14:00.637527" elapsed="0.000336"/>
</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-08-18T20:14:00.638012" elapsed="0.000252"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:00.638947" 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-08-18T20:14:00.638408" elapsed="0.000647"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:00.639615" 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-08-18T20:14:00.639202" elapsed="0.000444"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:01.117784" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:01.117932" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:01.118139" 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-08-18T20:14:00.639795" elapsed="0.478384"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.122543" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:01.118536" elapsed="0.004074"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a986399940&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-08-18T20:14:00.634674" elapsed="0.488030"/>
</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-08-18T20:14:00.634251" elapsed="0.488571"/>
</kw>
<var name="${flowfile}">f105.xml</var>
<status status="PASS" start="2026-08-18T20:14:00.622018" elapsed="0.500860"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.123607" level="INFO">f106.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:01.123239" 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-08-18T20:14:01.128324" 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-08-18T20:14:01.128479" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:01.128182" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:01.129125" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583ae80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:01.128659" elapsed="0.000496"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:01.129587" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:01.129306" elapsed="0.000307"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:01.130060" 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-08-18T20:14:01.129790" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:01.130515" 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-08-18T20:14:01.130246" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:01.131436" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:01.130687" elapsed="0.000780"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.131977" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:01.131625" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.132473" 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-08-18T20:14:01.132170" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.133036" 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-08-18T20:14:01.132707" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.133529" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:01.133232" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.134043" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:01.133724" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.134569" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583ae80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:01.134257" 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-08-18T20:14:01.127832" elapsed="0.006835"/>
</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-08-18T20:14:01.135977" level="INFO">${req} = &lt;Element 'flow' at 0x79a985839800&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:01.135612" 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-08-18T20:14:01.136144" elapsed="0.000259"/>
</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-08-18T20:14:01.136549" 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-08-18T20:14:01.136939" elapsed="0.000238"/>
</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-08-18T20:14:01.137319" elapsed="0.000516"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:01.138280" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98583a750&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-08-18T20:14:01.137986" 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-08-18T20:14:01.138449" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:01.139229" 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-08-18T20:14:01.138846" elapsed="0.000449"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:01.139857" 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-08-18T20:14:01.139437" elapsed="0.000451"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:01.617920" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:01.618195" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:01.618453" 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-08-18T20:14:01.140013" elapsed="0.478500"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.623468" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:01.618986" elapsed="0.004580"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a98583ae80&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-08-18T20:14:01.135265" elapsed="0.488440"/>
</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-08-18T20:14:01.134830" elapsed="0.489045"/>
</kw>
<var name="${flowfile}">f106.xml</var>
<status status="PASS" start="2026-08-18T20:14:01.123043" elapsed="0.500914"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.625075" level="INFO">f107.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:01.624484" 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-08-18T20:14:01.630324" 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-08-18T20:14:01.630468" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:01.630182" elapsed="0.000316"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:01.631108" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a76f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:01.630647" elapsed="0.000492"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:01.631566" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:01.631288" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:01.632039" 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-08-18T20:14:01.631769" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:01.632476" 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-08-18T20:14:01.632212" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:01.633446" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:01.632649" elapsed="0.000829"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.633972" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:01.633635" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.634467" 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-08-18T20:14:01.634165" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.634978" 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-08-18T20:14:01.634655" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.635461" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:01.635167" elapsed="0.000339"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.635985" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:01.635652" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:01.636478" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a76f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:01.636177" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:01.629824" elapsed="0.006749"/>
</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-08-18T20:14:01.639144" level="INFO">${req} = &lt;Element 'flow' at 0x79a9863a5da0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:01.637509" elapsed="0.001665"/>
</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-08-18T20:14:01.639321" 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-08-18T20:14:01.639784" 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-08-18T20:14:01.640205" 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-08-18T20:14:01.640595" elapsed="0.000347"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:01.641384" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98639ade0&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-08-18T20:14:01.641091" 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-08-18T20:14:01.641557" elapsed="0.000257"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:01.642357" 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-08-18T20:14:01.641958" elapsed="0.000468"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:01.643007" 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-08-18T20:14:01.642568" elapsed="0.000471"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:02.119000" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:02.119210" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:02.119480" 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-08-18T20:14:01.643166" elapsed="0.476374"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.125712" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:02.120218" elapsed="0.005626"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9863a76f0&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-08-18T20:14:01.637164" elapsed="0.488819"/>
</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-08-18T20:14:01.636719" elapsed="0.489383"/>
</kw>
<var name="${flowfile}">f107.xml</var>
<status status="PASS" start="2026-08-18T20:14:01.624199" elapsed="0.501986"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.127499" level="INFO">f108.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:02.126932" elapsed="0.000670"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:02.134858" 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-08-18T20:14:02.135005" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:02.134694" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:02.135639" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639a660&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:02.135189" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:02.136110" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:02.135831" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:02.136547" 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-08-18T20:14:02.136283" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:02.136999" 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-08-18T20:14:02.136720" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:02.137986" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:02.137171" elapsed="0.000847"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.138501" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:02.138182" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.139015" 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-08-18T20:14:02.138694" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.139513" 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-08-18T20:14:02.139206" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.140013" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:02.139701" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.140510" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:02.140206" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.141046" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98639a660&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:02.140725" 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-08-18T20:14:02.134339" elapsed="0.006805"/>
</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-08-18T20:14:02.142668" level="INFO">${req} = &lt;Element 'flow' at 0x79a98639a070&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:02.142118" elapsed="0.000578"/>
</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-08-18T20:14:02.142856" 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-08-18T20:14:02.143271" 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-08-18T20:14:02.143653" elapsed="0.000258"/>
</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-08-18T20:14:02.144059" elapsed="0.000332"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:02.144822" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9863995d0&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-08-18T20:14:02.144539" 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-08-18T20:14:02.144995" elapsed="0.000241"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:02.145800" 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-08-18T20:14:02.145379" elapsed="0.000534"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:02.146481" 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-08-18T20:14:02.146058" elapsed="0.000454"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:02.620324" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:02.620522" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:02.620813" 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-08-18T20:14:02.146641" elapsed="0.474236"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.626009" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:02.621337" elapsed="0.004771"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a98639a660&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-08-18T20:14:02.141766" elapsed="0.484480"/>
</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-08-18T20:14:02.141291" elapsed="0.485072"/>
</kw>
<var name="${flowfile}">f108.xml</var>
<status status="PASS" start="2026-08-18T20:14:02.126604" elapsed="0.499840"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.627595" level="INFO">f109.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:02.627004" 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-08-18T20:14:02.633762" 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-08-18T20:14:02.633965" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:02.633593" elapsed="0.000405"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:02.634630" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a3e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:02.634158" elapsed="0.000505"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:02.635140" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:02.634838" elapsed="0.000330"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:02.635620" 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-08-18T20:14:02.635341" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:02.636100" 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-08-18T20:14:02.635823" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:02.637089" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:02.636282" elapsed="0.000839"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.637613" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:02.637282" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.638220" 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-08-18T20:14:02.637886" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.638776" 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-08-18T20:14:02.638427" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.639307" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:02.638977" elapsed="0.000545"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.640014" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:02.639674" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:02.640732" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98583a3e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:02.640222" elapsed="0.000577"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:02.633228" elapsed="0.007628"/>
</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-08-18T20:14:02.642246" level="INFO">${req} = &lt;Element 'flow' at 0x79a98583a2a0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:02.641871" elapsed="0.000408"/>
</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-08-18T20:14:02.642426" elapsed="0.000284"/>
</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-08-18T20:14:02.642878" 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-08-18T20:14:02.643316" 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-08-18T20:14:02.643733" elapsed="0.000381"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:02.644556" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9858380e0&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-08-18T20:14:02.644269" 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-08-18T20:14:02.644734" elapsed="0.000271"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:02.645576" 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-08-18T20:14:02.645152" elapsed="0.000497"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:02.646255" 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-08-18T20:14:02.645814" elapsed="0.000473"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:03.120065" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:03.120335" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:03.120571" 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-08-18T20:14:02.646418" elapsed="0.474219"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.126038" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:03.121088" elapsed="0.005056"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a98583a3e0&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-08-18T20:14:02.641480" elapsed="0.484799"/>
</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-08-18T20:14:02.641006" elapsed="0.485393"/>
</kw>
<var name="${flowfile}">f109.xml</var>
<status status="PASS" start="2026-08-18T20:14:02.626683" elapsed="0.499797"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.127618" level="INFO">f110.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:03.127049" 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-08-18T20:14:03.133463" 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-08-18T20:14:03.133655" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:03.133249" elapsed="0.000447"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:03.134490" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e110&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:03.133922" elapsed="0.000609"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:03.135140" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:03.134737" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:03.135770" 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-08-18T20:14:03.135383" elapsed="0.000425"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:03.136390" 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-08-18T20:14:03.136015" elapsed="0.000411"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:03.137833" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:03.136632" elapsed="0.001246"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.138432" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:03.138094" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.138940" 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-08-18T20:14:03.138622" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.139443" 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-08-18T20:14:03.139128" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.139942" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:03.139630" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.140429" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:03.140131" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.140938" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e110&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:03.140619" 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-08-18T20:14:03.132773" elapsed="0.008259"/>
</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-08-18T20:14:03.142319" level="INFO">${req} = &lt;Element 'flow' at 0x79a985839440&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:03.141977" elapsed="0.000369"/>
</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-08-18T20:14:03.142484" elapsed="0.000256"/>
</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-08-18T20:14:03.142901" elapsed="0.000232"/>
</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-08-18T20:14:03.143313" 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-08-18T20:14:03.143702" elapsed="0.000348"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:03.144461" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98583ab60&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-08-18T20:14:03.144198" elapsed="0.000290"/>
</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-08-18T20:14:03.144632" elapsed="0.000256"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:03.145408" 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-08-18T20:14:03.145032" elapsed="0.000442"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:03.146027" 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-08-18T20:14:03.145616" elapsed="0.000442"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:03.622310" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:03.622502" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:03.622840" 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-08-18T20:14:03.146185" elapsed="0.476733"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.628098" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:03.623397" elapsed="0.004800"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985a3e110&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-08-18T20:14:03.141618" 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-08-18T20:14:03.141183" elapsed="0.487268"/>
</kw>
<var name="${flowfile}">f110.xml</var>
<status status="PASS" start="2026-08-18T20:14:03.126719" elapsed="0.501812"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.629645" level="INFO">f113.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:03.629090" 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-08-18T20:14:03.634555" 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-08-18T20:14:03.634787" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:03.634408" elapsed="0.000410"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:03.635440" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3c5e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:03.634970" elapsed="0.000499"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:03.635922" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:03.635622" elapsed="0.000327"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:03.636375" 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-08-18T20:14:03.636100" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:03.636836" 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-08-18T20:14:03.636551" elapsed="0.000312"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:03.637967" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:03.637013" elapsed="0.000985"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.638483" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:03.638158" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.639007" 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-08-18T20:14:03.638678" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.639532" 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-08-18T20:14:03.639207" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.640036" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:03.639723" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.640528" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:03.640227" elapsed="0.000345"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:03.641033" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3c5e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:03.640717" 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-08-18T20:14:03.634049" elapsed="0.007080"/>
</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-08-18T20:14:03.642411" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a3f150&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:03.642059" 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-08-18T20:14:03.642578" 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-08-18T20:14:03.643000" elapsed="0.000234"/>
</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-08-18T20:14:03.643391" elapsed="0.000240"/>
</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-08-18T20:14:03.643795" elapsed="0.000330"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:03.644539" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a3fa10&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-08-18T20:14:03.644273" 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-08-18T20:14:03.644708" elapsed="0.000263"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:03.645514" 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-08-18T20:14:03.645114" elapsed="0.000505"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:03.646211" 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-08-18T20:14:03.645789" elapsed="0.000452"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:04.123537" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:04.123771" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:04.124081" 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-08-18T20:14:03.646368" elapsed="0.477777"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.129324" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:04.124613" elapsed="0.004808"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985a3c5e0&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-08-18T20:14:03.641696" 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-08-18T20:14:03.641274" elapsed="0.488452"/>
</kw>
<var name="${flowfile}">f113.xml</var>
<status status="PASS" start="2026-08-18T20:14:03.628799" elapsed="0.501041"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.130701" level="INFO">f201.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:04.130356" 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-08-18T20:14:04.135554" 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-08-18T20:14:04.135796" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:04.135351" elapsed="0.000488"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:04.136647" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a1e700&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:04.136047" elapsed="0.000640"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:04.137312" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:04.136916" elapsed="0.000432"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:04.137966" 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-08-18T20:14:04.137552" elapsed="0.000450"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:04.138578" 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-08-18T20:14:04.138205" elapsed="0.000409"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:04.140098" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:04.138841" elapsed="0.001301"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.140846" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:04.140369" elapsed="0.000539"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.141657" 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-08-18T20:14:04.141190" elapsed="0.000528"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.142406" 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-08-18T20:14:04.141949" elapsed="0.000500"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.142915" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:04.142598" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.143418" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:04.143111" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.143931" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a1e700&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:04.143612" 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-08-18T20:14:04.134862" elapsed="0.009166"/>
</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-08-18T20:14:04.145313" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a3f060&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:04.144967" 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-08-18T20:14:04.145480" 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-08-18T20:14:04.145917" elapsed="0.000235"/>
</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-08-18T20:14:04.146295" elapsed="0.000241"/>
</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-08-18T20:14:04.146681" elapsed="0.000349"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:04.147446" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a3dbc0&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-08-18T20:14:04.147177" 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-08-18T20:14:04.147614" elapsed="0.000259"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:04.148399" 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-08-18T20:14:04.148015" elapsed="0.000449"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:04.149024" 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-08-18T20:14:04.148605" elapsed="0.000450"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:04.624994" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:04.625301" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:04.625585" 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-08-18T20:14:04.149181" elapsed="0.476466"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.630659" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:04.626115" elapsed="0.004673"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985a1e700&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-08-18T20:14:04.144604" elapsed="0.486333"/>
</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-08-18T20:14:04.144175" elapsed="0.486882"/>
</kw>
<var name="${flowfile}">f201.xml</var>
<status status="PASS" start="2026-08-18T20:14:04.130086" elapsed="0.501051"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.632284" level="INFO">f202.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:04.631661" 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-08-18T20:14:04.638149" 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-08-18T20:14:04.638304" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:04.638003" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:04.638941" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cec2c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:04.638485" elapsed="0.000486"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:04.639463" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:04.639160" elapsed="0.000331"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:04.639955" 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-08-18T20:14:04.639644" elapsed="0.000337"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:04.640411" 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-08-18T20:14:04.640137" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:04.641559" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:04.640805" elapsed="0.000786"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.642112" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:04.641780" elapsed="0.000377"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.642623" 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-08-18T20:14:04.642314" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.643145" 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-08-18T20:14:04.642831" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.643638" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:04.643338" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.644183" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:04.643851" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:04.644693" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cec2c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:04.644385" 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-08-18T20:14:04.637619" elapsed="0.007193"/>
</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-08-18T20:14:04.646116" level="INFO">${req} = &lt;Element 'flow' at 0x79a985a1cef0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:04.645763" 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-08-18T20:14:04.646288" 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-08-18T20:14:04.646702" 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-08-18T20:14:04.647143" 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-08-18T20:14:04.647539" elapsed="0.000376"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:04.648355" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985a3dbc0&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-08-18T20:14:04.648073" elapsed="0.000309"/>
</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-08-18T20:14:04.648527" elapsed="0.000262"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:04.649319" 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-08-18T20:14:04.648935" elapsed="0.000450"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:04.649948" 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-08-18T20:14:04.649529" elapsed="0.000451"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:05.126602" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:05.126814" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:05.127092" 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-08-18T20:14:04.650107" elapsed="0.477046"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.131995" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:05.127550" elapsed="0.004506"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a987cec2c0&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-08-18T20:14:04.645396" elapsed="0.486745"/>
</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-08-18T20:14:04.644961" elapsed="0.487251"/>
</kw>
<var name="${flowfile}">f202.xml</var>
<status status="PASS" start="2026-08-18T20:14:04.631376" elapsed="0.500884"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.132963" level="INFO">f203.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:05.132594" 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-08-18T20:14:05.137831" 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-08-18T20:14:05.138090" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:05.137614" elapsed="0.000528"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:05.139109" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986355490&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:05.138412" elapsed="0.000739"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:05.139775" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:05.139359" elapsed="0.000464"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:05.140444" 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-08-18T20:14:05.140036" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:05.141176" 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-08-18T20:14:05.140698" elapsed="0.000516"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:05.142456" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:05.141429" elapsed="0.001070"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.143187" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:05.142714" elapsed="0.000545"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.143788" 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-08-18T20:14:05.143456" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.144289" 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-08-18T20:14:05.143979" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.144795" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:05.144484" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.145307" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:05.144988" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.145821" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a986355490&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:05.145501" 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-08-18T20:14:05.137136" elapsed="0.008784"/>
</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-08-18T20:14:05.147227" level="INFO">${req} = &lt;Element 'flow' at 0x79a9863a4d10&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:05.146883" 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-08-18T20:14:05.147396" 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-08-18T20:14:05.147826" 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-08-18T20:14:05.148206" 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-08-18T20:14:05.148596" elapsed="0.000352"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:05.149520" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9863a45e0&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-08-18T20:14:05.149095" elapsed="0.000452"/>
</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-08-18T20:14:05.149694" elapsed="0.000262"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:05.150486" 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-08-18T20:14:05.150100" elapsed="0.000486"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:05.151154" 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-08-18T20:14:05.150731" elapsed="0.000454"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:05.628487" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:05.628675" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:05.629009" 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-08-18T20:14:05.151312" elapsed="0.477762"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.634109" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:05.629515" elapsed="0.004694"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a986355490&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-08-18T20:14:05.146518" elapsed="0.487831"/>
</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-08-18T20:14:05.146076" elapsed="0.488389"/>
</kw>
<var name="${flowfile}">f203.xml</var>
<status status="PASS" start="2026-08-18T20:14:05.132416" elapsed="0.502128"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.635736" level="INFO">f204.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:05.635117" elapsed="0.000889"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:05.640401" 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-08-18T20:14:05.640565" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:05.640253" elapsed="0.000341"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:05.641224" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c1d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:05.640759" elapsed="0.000495"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:05.641681" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:05.641403" elapsed="0.000305"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:05.642140" 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-08-18T20:14:05.641874" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:05.642579" 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-08-18T20:14:05.642312" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:05.643506" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:05.642777" elapsed="0.000760"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.644060" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:05.643698" elapsed="0.000406"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.644559" 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-08-18T20:14:05.644257" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.645174" 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-08-18T20:14:05.644836" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.645664" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:05.645366" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.646177" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:05.645872" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:05.646672" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c1d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:05.646370" elapsed="0.000343"/>
</kw>
<arg>${XmlsDir}/${flowfile}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:05.639893" elapsed="0.006890"/>
</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-08-18T20:14:05.648074" level="INFO">${req} = &lt;Element 'flow' at 0x79a98570d490&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:05.647705" 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-08-18T20:14:05.648250" 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-08-18T20:14:05.648681" elapsed="0.000479"/>
</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-08-18T20:14:05.649311" 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-08-18T20:14:05.649730" elapsed="0.000369"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:05.650536" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98570f920&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-08-18T20:14:05.650257" 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-08-18T20:14:05.650733" elapsed="0.000272"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:05.651553" 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-08-18T20:14:05.651161" elapsed="0.000458"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:05.652183" 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-08-18T20:14:05.651779" elapsed="0.000435"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:06.128412" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:06.128672" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:06.129000" 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-08-18T20:14:05.652342" elapsed="0.476724"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.134006" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:06.129465" elapsed="0.004641"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a98570c1d0&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-08-18T20:14:05.647357" elapsed="0.486881"/>
</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-08-18T20:14:05.646932" elapsed="0.487422"/>
</kw>
<var name="${flowfile}">f204.xml</var>
<status status="PASS" start="2026-08-18T20:14:05.634828" elapsed="0.499606"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.135578" level="INFO">f205.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:06.134980" 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-08-18T20:14:06.141969" 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-08-18T20:14:06.142120" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:06.141824" elapsed="0.000326"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:06.142731" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570fe20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:06.142300" elapsed="0.000475"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:06.143203" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:06.142925" elapsed="0.000304"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:06.143670" 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-08-18T20:14:06.143398" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:06.144131" 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-08-18T20:14:06.143860" elapsed="0.000297"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:06.145096" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:06.144329" elapsed="0.000798"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.145601" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:06.145283" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.146113" 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-08-18T20:14:06.145809" elapsed="0.000346"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.146616" 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-08-18T20:14:06.146308" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.147117" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:06.146819" elapsed="0.000343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.147634" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:06.147310" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.148153" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570fe20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:06.147845" 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-08-18T20:14:06.141445" elapsed="0.006807"/>
</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-08-18T20:14:06.149755" level="INFO">${req} = &lt;Element 'flow' at 0x79a98570cb30&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:06.149384" 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-08-18T20:14:06.149932" elapsed="0.000262"/>
</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-08-18T20:14:06.150343" 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-08-18T20:14:06.150723" elapsed="0.000302"/>
</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-08-18T20:14:06.151173" elapsed="0.000411"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:06.152027" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98570c130&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-08-18T20:14:06.151739" 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-08-18T20:14:06.152197" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:06.153001" 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-08-18T20:14:06.152598" elapsed="0.000470"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:06.153620" 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-08-18T20:14:06.153209" elapsed="0.000441"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:06.629594" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:06.629730" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:06.629955" 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-08-18T20:14:06.153791" elapsed="0.476212"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.632318" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:06.630312" elapsed="0.002053"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a98570fe20&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-08-18T20:14:06.148863" elapsed="0.483565"/>
</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-08-18T20:14:06.148414" elapsed="0.484065"/>
</kw>
<var name="${flowfile}">f205.xml</var>
<status status="PASS" start="2026-08-18T20:14:06.134664" elapsed="0.497851"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.633016" level="INFO">f206.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:06.632767" 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-08-18T20:14:06.636483" 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-08-18T20:14:06.636616" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:06.636337" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:06.637231" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538a980&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:06.636808" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:06.637683" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:06.637407" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:06.638175" 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-08-18T20:14:06.637879" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:06.638618" 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-08-18T20:14:06.638350" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:06.639570" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:06.638816" elapsed="0.000786"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.640087" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:06.639769" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.640585" 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-08-18T20:14:06.640278" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.641121" 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-08-18T20:14:06.640807" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.641805" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:06.641317" elapsed="0.000535"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.642315" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:06.642009" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:06.642835" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538a980&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:06.642507" 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-08-18T20:14:06.635997" elapsed="0.006935"/>
</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-08-18T20:14:06.644221" level="INFO">${req} = &lt;Element 'flow' at 0x79a985389260&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:06.643870" 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-08-18T20:14:06.644392" elapsed="0.000261"/>
</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-08-18T20:14:06.644818" 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-08-18T20:14:06.645204" elapsed="0.000239"/>
</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-08-18T20:14:06.645589" elapsed="0.000343"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:06.646356" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9853898a0&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-08-18T20:14:06.646093" elapsed="0.000290"/>
</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-08-18T20:14:06.646526" elapsed="0.000256"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:06.647308" 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-08-18T20:14:06.646926" elapsed="0.000485"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:06.647986" 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-08-18T20:14:06.647554" elapsed="0.000462"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:07.131432" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:07.131588" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:07.131846" 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-08-18T20:14:06.648143" elapsed="0.483763"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.136648" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:07.132293" elapsed="0.004497"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a98538a980&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-08-18T20:14:06.643505" elapsed="0.493426"/>
</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-08-18T20:14:06.643080" elapsed="0.493966"/>
</kw>
<var name="${flowfile}">f206.xml</var>
<status status="PASS" start="2026-08-18T20:14:06.632622" elapsed="0.504500"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.138218" level="INFO">f209.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:07.137626" 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-08-18T20:14:07.143481" 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-08-18T20:14:07.143612" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:07.143345" elapsed="0.000296"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:07.144217" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859111c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:07.143804" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:07.144663" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:07.144392" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:07.145130" 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-08-18T20:14:07.144866" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:07.145562" 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-08-18T20:14:07.145301" elapsed="0.000287"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:07.147865" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:07.145734" elapsed="0.002164"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.148368" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:07.148053" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.148947" 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-08-18T20:14:07.148604" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.149444" 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-08-18T20:14:07.149138" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.149943" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:07.149632" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.150438" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:07.150135" elapsed="0.000347"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.150955" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9859111c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:07.150629" 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-08-18T20:14:07.143007" elapsed="0.008045"/>
</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-08-18T20:14:07.152330" level="INFO">${req} = &lt;Element 'flow' at 0x79a985389cb0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:07.151982" elapsed="0.000376"/>
</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-08-18T20:14:07.152502" 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-08-18T20:14:07.152950" elapsed="0.000233"/>
</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-08-18T20:14:07.153329" elapsed="0.000240"/>
</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-08-18T20:14:07.153713" elapsed="0.000345"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:07.154470" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985388040&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-08-18T20:14:07.154207" elapsed="0.000289"/>
</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-08-18T20:14:07.154639" elapsed="0.000258"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:07.155418" 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-08-18T20:14:07.155041" elapsed="0.000444"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:07.156051" 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-08-18T20:14:07.155628" elapsed="0.000454"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:07.632462" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:07.632704" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:07.632994" 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-08-18T20:14:07.156210" elapsed="0.476844"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.637324" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:07.633436" elapsed="0.003949"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a9859111c0&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-08-18T20:14:07.151622" elapsed="0.485845"/>
</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-08-18T20:14:07.151199" elapsed="0.486340"/>
</kw>
<var name="${flowfile}">f209.xml</var>
<status status="PASS" start="2026-08-18T20:14:07.137344" elapsed="0.500245"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.638285" level="INFO">f214.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:07.637938" 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-08-18T20:14:07.643151" 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-08-18T20:14:07.643343" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:07.642959" elapsed="0.000425"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:07.644194" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389c10&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:07.643608" elapsed="0.000625"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:07.644872" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:07.644465" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:07.645481" 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-08-18T20:14:07.645113" elapsed="0.000403"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:07.646112" 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-08-18T20:14:07.645717" elapsed="0.000431"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:07.647278" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:07.646351" elapsed="0.000970"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.648032" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:07.647568" elapsed="0.000524"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.648882" 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-08-18T20:14:07.648312" elapsed="0.000613"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.649386" 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-08-18T20:14:07.649074" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.649888" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:07.649575" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.650393" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:07.650080" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:07.650904" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389c10&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:07.650584" 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-08-18T20:14:07.642469" elapsed="0.008531"/>
</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-08-18T20:14:07.652276" level="INFO">${req} = &lt;Element 'flow' at 0x79a98538a890&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:07.651940" elapsed="0.000364"/>
</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-08-18T20:14:07.652444" elapsed="0.000256"/>
</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-08-18T20:14:07.652860" elapsed="0.000231"/>
</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-08-18T20:14:07.653276" 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-08-18T20:14:07.653666" elapsed="0.000345"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:07.654421" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985388bd0&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-08-18T20:14:07.654158" elapsed="0.000290"/>
</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-08-18T20:14:07.654589" elapsed="0.000257"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:07.655353" 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-08-18T20:14:07.654990" elapsed="0.000427"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:07.655995" 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-08-18T20:14:07.655584" elapsed="0.000442"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:08.133339" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:08.133408" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:08.133515" 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-08-18T20:14:07.656152" elapsed="0.477388"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.135722" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:08.133719" elapsed="0.002061"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985389c10&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-08-18T20:14:07.651581" elapsed="0.484260"/>
</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-08-18T20:14:07.651146" elapsed="0.484746"/>
</kw>
<var name="${flowfile}">f214.xml</var>
<status status="PASS" start="2026-08-18T20:14:07.637736" elapsed="0.498191"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.136413" level="INFO">f218.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:08.136161" 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-08-18T20:14:08.139820" 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-08-18T20:14:08.139952" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:08.139669" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:08.140550" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389c60&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:08.140164" elapsed="0.000414"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:08.141034" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:08.140726" elapsed="0.000335"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:08.141478" 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-08-18T20:14:08.141208" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:08.141936" 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-08-18T20:14:08.141651" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:08.142689" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:08.142111" elapsed="0.000609"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.143213" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:08.142898" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.143707" 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-08-18T20:14:08.143404" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.144220" 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-08-18T20:14:08.143913" elapsed="0.000348"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.144704" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:08.144409" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.145381" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:08.144913" elapsed="0.000514"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.145896" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985389c60&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:08.145576" 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-08-18T20:14:08.139339" elapsed="0.006653"/>
</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-08-18T20:14:08.147246" level="INFO">${req} = &lt;Element 'flow' at 0x79a98538b880&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:08.146932" elapsed="0.000341"/>
</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-08-18T20:14:08.147412" elapsed="0.000258"/>
</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-08-18T20:14:08.147832" 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-08-18T20:14:08.148216" elapsed="0.000238"/>
</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-08-18T20:14:08.148598" elapsed="0.000343"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:08.149350" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a98538b5b0&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-08-18T20:14:08.149089" elapsed="0.000288"/>
</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-08-18T20:14:08.149518" elapsed="0.000254"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:08.150244" 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-08-18T20:14:08.149915" elapsed="0.000388"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:08.150838" 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-08-18T20:14:08.150456" elapsed="0.000446"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:08.635493" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:08.635631" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:08.635917" 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-08-18T20:14:08.151032" elapsed="0.484946"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.640735" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:08.636349" elapsed="0.004539"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a985389c60&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-08-18T20:14:08.146571" elapsed="0.494447"/>
</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-08-18T20:14:08.146138" elapsed="0.494991"/>
</kw>
<var name="${flowfile}">f218.xml</var>
<status status="PASS" start="2026-08-18T20:14:08.136032" elapsed="0.505175"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.642323" level="INFO">f219.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:08.641727" elapsed="0.000699"/>
</kw>
<kw name="Create Flow Variables For Suite From XML File" owner="FlowLib">
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:08.648315" 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-08-18T20:14:08.648448" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:08.648178" elapsed="0.000299"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:08.649043" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570d670&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:08.648624" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:08.649503" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:08.649219" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:08.649965" 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-08-18T20:14:08.649681" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:08.650406" 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-08-18T20:14:08.650136" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:08.651226" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:08.650577" elapsed="0.000679"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.651724" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:08.651410" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.652238" 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-08-18T20:14:08.651935" elapsed="0.000344"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.652919" 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-08-18T20:14:08.652427" elapsed="0.000535"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.653423" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:08.653110" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.653941" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:08.653616" elapsed="0.000409"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:08.654483" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570d670&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:08.654177" 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-08-18T20:14:08.647842" elapsed="0.006737"/>
</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-08-18T20:14:08.655863" level="INFO">${req} = &lt;Element 'flow' at 0x79a98538b880&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:08.655509" 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-08-18T20:14:08.656032" elapsed="0.000260"/>
</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-08-18T20:14:08.656440" elapsed="0.000234"/>
</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-08-18T20:14:08.656833" elapsed="0.000238"/>
</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-08-18T20:14:08.657216" elapsed="0.000357"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:08.658004" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a9853899e0&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-08-18T20:14:08.657722" elapsed="0.000309"/>
</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-08-18T20:14:08.658180" elapsed="0.000242"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:08.658934" 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-08-18T20:14:08.658564" elapsed="0.000433"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:08.659528" 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-08-18T20:14:08.659139" elapsed="0.000420"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:09.139459" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:09.139611" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:09.139894" 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-08-18T20:14:08.659685" elapsed="0.480270"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:09.144931" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:09.140380" elapsed="0.004647"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a98570d670&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-08-18T20:14:08.655164" elapsed="0.489992"/>
</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-08-18T20:14:08.654726" elapsed="0.490632"/>
</kw>
<var name="${flowfile}">f219.xml</var>
<status status="PASS" start="2026-08-18T20:14:08.641445" elapsed="0.503965"/>
</iter>
<iter>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:09.146100" level="INFO">f220.xml</msg>
<arg>${flowfile}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:09.145735" 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-08-18T20:14:09.150940" 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-08-18T20:14:09.151122" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:09.150727" elapsed="0.000435"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:09.151939" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c540&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:09.151367" elapsed="0.000612"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:09.152586" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:09.152187" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:09.153225" 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-08-18T20:14:09.152851" elapsed="0.000410"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:09.153856" 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-08-18T20:14:09.153465" elapsed="0.000427"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:09.154924" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:09.154094" elapsed="0.000873"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:09.155615" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:09.155180" elapsed="0.000494"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:09.156360" 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-08-18T20:14:09.155901" elapsed="0.000519"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:09.157083" 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-08-18T20:14:09.156625" elapsed="0.000516"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:09.157811" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:09.157347" elapsed="0.000510"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:09.158490" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:09.158004" elapsed="0.000533"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:09.159015" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c540&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:09.158686" 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-08-18T20:14:09.150257" elapsed="0.008856"/>
</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-08-18T20:14:09.160404" level="INFO">${req} = &lt;Element 'flow' at 0x79a98538bfb0&gt;</msg>
<var>${req}</var>
<arg>${xmlroot}</arg>
<doc>Returns a copy of the specified element.</doc>
<status status="PASS" start="2026-08-18T20:14:09.160048" 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-08-18T20:14:09.160573" 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-08-18T20:14:09.160996" elapsed="0.000234"/>
</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-08-18T20:14:09.161377" elapsed="0.000408"/>
</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-08-18T20:14:09.161931" elapsed="0.000327"/>
</kw>
<kw name="Get Element" owner="XML">
<msg time="2026-08-18T20:14:09.162819" level="INFO">${nodeelm} = &lt;Element 'node' at 0x79a985389d50&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-08-18T20:14:09.162404" 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-08-18T20:14:09.163001" elapsed="0.000240"/>
</kw>
<kw name="Log Element" owner="XML">
<msg time="2026-08-18T20:14:09.163798" 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-08-18T20:14:09.163427" elapsed="0.000433"/>
</kw>
<kw name="Element To String" owner="XML">
<msg time="2026-08-18T20:14:09.164390" 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-08-18T20:14:09.164002" elapsed="0.000418"/>
</kw>
<kw name="POST On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:09.640334" level="INFO">POST Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.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-08-18T20:14:09.640500" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/operations/sal-flow:remove-flow 
 status=204, reason=No Content 
 headers={} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:09.640721" 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-08-18T20:14:09.164546" elapsed="0.476257"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:09.644813" level="INFO"/>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:09.641212" elapsed="0.003667"/>
</kw>
<arg>${switch_idx}</arg>
<arg>${xmlroot}</arg>
<doc>Deletes a flow by using remove-flow opearation. &lt;Element 'flow' at 0x79a98570c540&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-08-18T20:14:09.159686" elapsed="0.485323"/>
</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-08-18T20:14:09.159260" elapsed="0.485869"/>
</kw>
<var name="${flowfile}">f220.xml</var>
<status status="PASS" start="2026-08-18T20:14:09.145556" elapsed="0.499646"/>
</iter>
<var>${flowfile}</var>
<value>@{flowlist0}</value>
<status status="PASS" start="2026-08-18T20:13:44.531164" elapsed="25.114095"/>
</for>
<kw name="Sleep" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.646341" 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-08-18T20:14:09.645577" elapsed="3.000992"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:14:12.652495" 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-08-18T20:14:12.647090" elapsed="0.005534"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:14:12.679395" level="INFO">*** s1 ------------------------------------------------------------------------
 cookie=0xa, duration=127.732s, table=0, n_packets=20, n_bytes=1552, 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-08-18T20:14:12.652993" elapsed="0.026475"/>
</kw>
<doc>Delete all flows and waits for SM to collect data</doc>
<status status="PASS" start="2026-08-18T20:13:44.530786" elapsed="28.148834"/>
</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-08-18T20:14:12.690799" 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-08-18T20:14:12.690969" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.690631" elapsed="0.000368"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:12.691613" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c310&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:12.691148" elapsed="0.000493"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.692175" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:12.691884" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.692622" 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-08-18T20:14:12.692353" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.693101" 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-08-18T20:14:12.692822" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:12.694185" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:12.693287" elapsed="0.000979"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.694805" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:12.694442" elapsed="0.000407"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.695335" 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-08-18T20:14:12.695007" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.695882" 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-08-18T20:14:12.695531" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.696397" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.696074" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.696935" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:12.696597" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.697457" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c310&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:12.697132" 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-08-18T20:14:12.690291" elapsed="0.007269"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.698145" 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-08-18T20:14:12.697710" elapsed="0.000466"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.698611" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.698357" 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-08-18T20:14:12.706355" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:12.706026" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:12.711888" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:12.712052" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:12.712164" 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-08-18T20:14:12.706507" elapsed="0.005683"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.712784" 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-08-18T20:14:12.712385" elapsed="0.000465"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.715899" 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-08-18T20:14:12.713048" elapsed="0.002923"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:12.718586" elapsed="0.000050"/>
</return>
<status status="PASS" start="2026-08-18T20:14:12.716084" elapsed="0.002608"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.716052" elapsed="0.002677"/>
</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-08-18T20:14:12.718952" 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-08-18T20:14:12.719278" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:12.719091" elapsed="0.000261"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:12.719068" elapsed="0.000317"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.719432" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:14:12.721781" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:12.721848" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:12.705694" elapsed="0.016187"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.724336" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.722698" elapsed="0.001688"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.722679" elapsed="0.001737"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.725006" 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-08-18T20:14:12.724577" elapsed="0.000456"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.725584" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:12.725201" elapsed="0.000410"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:12.725661" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:12.725857" 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-08-18T20:14:12.722220" elapsed="0.003663"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:12.726049" elapsed="0.000476"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:12.705125" elapsed="0.021474"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.734550" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:12.734253" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:12.740049" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:12.740163" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:12.740265" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:12.734704" elapsed="0.005593"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.740735" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:12.740469" elapsed="0.000339"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.743214" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:12.740960" 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-08-18T20:14:12.745161" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.743372" elapsed="0.001839"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.743353" elapsed="0.001880"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:12.748624" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:12.748690" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:12.745372" elapsed="0.003351"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:12.751301" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:12.748858" elapsed="0.002522"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.748832" elapsed="0.002582"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:12.751461" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:14:12.751728" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:12.751810" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:12.733834" elapsed="0.018009"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.755008" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.752634" elapsed="0.002438"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.752602" elapsed="0.002500"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.755937" 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-08-18T20:14:12.755319" elapsed="0.000657"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.756726" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:12.756211" elapsed="0.000573"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:12.756861" elapsed="0.000046"/>
</return>
<msg time="2026-08-18T20:14:12.757119" 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-08-18T20:14:12.752135" elapsed="0.005018"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:12.757369" 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-08-18T20:14:12.733197" elapsed="0.024821"/>
</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-08-18T20:14:12.687031" elapsed="0.071075"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:12.679988" elapsed="0.078323"/>
</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-08-18T20:14:12.769181" 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-08-18T20:14:12.769308" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.769045" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:12.769900" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a12ca0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:12.769487" elapsed="0.000441"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.770382" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:12.770077" elapsed="0.000332"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.770841" 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-08-18T20:14:12.770557" elapsed="0.000310"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.771278" 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-08-18T20:14:12.771013" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:12.772292" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:12.771467" elapsed="0.000857"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.772857" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:12.772480" elapsed="0.000422"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.773443" 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-08-18T20:14:12.773104" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.774003" 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-08-18T20:14:12.773648" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.774546" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.774220" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.775091" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:12.774766" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.775621" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a12ca0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:12.775288" 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-08-18T20:14:12.768698" elapsed="0.007022"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.776288" 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-08-18T20:14:12.775891" elapsed="0.000427"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.776722" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.776466" 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-08-18T20:14:12.784465" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:12.784153" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:12.788865" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:12.788980" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:12.789076" 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-08-18T20:14:12.784687" elapsed="0.004414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.789511" 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-08-18T20:14:12.789258" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.791679" 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-08-18T20:14:12.789697" 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-08-18T20:14:12.793518" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:12.791814" elapsed="0.001770"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.791795" elapsed="0.001813"/>
</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-08-18T20:14:12.793759" 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-08-18T20:14:12.794019" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:12.793887" elapsed="0.000211"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:12.793869" elapsed="0.000269"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.794173" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:14:12.796323" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:12.796384" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:12.783842" elapsed="0.012573"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.799405" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.797184" elapsed="0.002284"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.797158" elapsed="0.002340"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.800269" 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-08-18T20:14:12.799696" elapsed="0.000610"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.801034" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:12.800526" elapsed="0.000545"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:12.801140" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:12.801386" 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-08-18T20:14:12.796705" elapsed="0.004716"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:12.801635" 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-08-18T20:14:12.783278" elapsed="0.019037"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.811229" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:12.810926" elapsed="0.000330"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:12.816690" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:12.816822" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:12.816920" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:12.811382" elapsed="0.005563"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.817350" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:12.817103" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.820613" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:12.817603" elapsed="0.003081"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.823238" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.820806" elapsed="0.002502"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.820773" elapsed="0.002565"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:12.826867" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:12.826913" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:12.823525" elapsed="0.003411"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:12.828683" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:12.827012" elapsed="0.001726"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.826993" elapsed="0.001783"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:12.828811" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:12.829004" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:12.829046" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:12.810528" 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-08-18T20:14:12.831243" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.829651" elapsed="0.001637"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.829633" elapsed="0.001677"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.831868" 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-08-18T20:14:12.831454" elapsed="0.000441"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.832402" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:12.832055" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:12.832478" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:12.832655" 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-08-18T20:14:12.829319" elapsed="0.003361"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:12.832850" elapsed="0.000382"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:12.809868" elapsed="0.023427"/>
</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-08-18T20:14:12.765449" elapsed="0.067901"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:12.758657" elapsed="0.074800"/>
</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-08-18T20:14:12.844137" 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-08-18T20:14:12.844272" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.844003" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:12.844847" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863572e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:12.844451" elapsed="0.000424"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.845296" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:12.845023" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.845763" 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-08-18T20:14:12.845477" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.846216" 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-08-18T20:14:12.845937" elapsed="0.000304"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:12.847144" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:12.846387" elapsed="0.000788"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.847653" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:12.847330" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.848176" 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-08-18T20:14:12.847860" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.848687" 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-08-18T20:14:12.848366" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.849202" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.848893" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.849707" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:12.849394" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.850299" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863572e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:12.849957" 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-08-18T20:14:12.843663" elapsed="0.006732"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.851115" 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-08-18T20:14:12.850542" elapsed="0.000606"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.851558" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.851313" 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-08-18T20:14:12.859912" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:12.859589" elapsed="0.000350"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:12.864855" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:12.864990" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:12.865088" 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-08-18T20:14:12.860069" elapsed="0.005044"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.865527" 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-08-18T20:14:12.865272" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.867679" 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-08-18T20:14:12.865711" elapsed="0.002019"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:12.869531" elapsed="0.000032"/>
</return>
<status status="PASS" start="2026-08-18T20:14:12.867822" elapsed="0.001781"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.867800" elapsed="0.001827"/>
</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-08-18T20:14:12.869782" 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-08-18T20:14:12.870065" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:12.869874" elapsed="0.000253"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:12.869858" elapsed="0.000292"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.870183" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:12.872322" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:12.872385" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:12.859273" elapsed="0.013143"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.875384" elapsed="0.000025"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.873182" elapsed="0.002279"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.873157" elapsed="0.002342"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.876301" 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-08-18T20:14:12.875728" elapsed="0.000610"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.877144" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:12.876626" elapsed="0.000555"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:12.877252" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:12.877499" 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-08-18T20:14:12.872708" elapsed="0.004825"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:12.877766" 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-08-18T20:14:12.858651" elapsed="0.019770"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.888438" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:12.888146" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:12.893001" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:12.893116" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:12.893213" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:12.888591" elapsed="0.004647"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.893648" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:12.893397" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.895983" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:12.893848" elapsed="0.002186"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.897833" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.896104" elapsed="0.001779"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.896085" elapsed="0.001820"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:12.901391" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:12.901456" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:12.898072" elapsed="0.003416"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:12.904038" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:12.901600" elapsed="0.002519"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.901573" elapsed="0.002578"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:12.904199" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:12.904483" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:12.904547" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:12.887775" elapsed="0.016803"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.907609" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.905369" elapsed="0.002303"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.905343" elapsed="0.002359"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.908494" 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-08-18T20:14:12.907930" elapsed="0.000601"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.909274" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:12.908776" elapsed="0.000536"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:12.909383" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:14:12.909637" 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-08-18T20:14:12.904901" elapsed="0.004828"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:12.910047" elapsed="0.000532"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:12.887157" elapsed="0.023488"/>
</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-08-18T20:14:12.840453" elapsed="0.070248"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:12.833697" elapsed="0.077137"/>
</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-08-18T20:14:12.921461" 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-08-18T20:14:12.921597" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.921324" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:12.922208" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a10bd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:12.921789" elapsed="0.000447"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.922660" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:12.922385" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.923116" 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-08-18T20:14:12.922851" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.923560" 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-08-18T20:14:12.923290" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:12.924530" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:12.923732" elapsed="0.000829"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.925054" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:12.924714" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.925559" 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-08-18T20:14:12.925247" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.926106" 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-08-18T20:14:12.925760" elapsed="0.000388"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.926608" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.926302" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.927127" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:12.926815" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.927628" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a10bd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:12.927317" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:12.921001" elapsed="0.006722"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.928253" 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-08-18T20:14:12.927882" elapsed="0.000400"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.928663" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.928428" elapsed="0.000343"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.936371" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:12.936078" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:12.941353" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:12.941468" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:12.941569" 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-08-18T20:14:12.936524" elapsed="0.005070"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.942041" 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-08-18T20:14:12.941771" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.944169" 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-08-18T20:14:12.942228" elapsed="0.001991"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:12.946019" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:12.944288" elapsed="0.001797"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.944270" elapsed="0.001839"/>
</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-08-18T20:14:12.946248" 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-08-18T20:14:12.946467" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:12.946337" elapsed="0.000186"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:12.946322" elapsed="0.000223"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.946577" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:14:12.948182" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:12.948226" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:12.935768" elapsed="0.012481"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.950391" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.948800" elapsed="0.001647"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.948781" elapsed="0.001693"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.951401" 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-08-18T20:14:12.950704" elapsed="0.000735"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.952171" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:12.951662" elapsed="0.000544"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:12.952275" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:14:12.952524" 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-08-18T20:14:12.948456" elapsed="0.004102"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:12.952794" elapsed="0.000530"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:12.935208" elapsed="0.018204"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.963830" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:12.963506" elapsed="0.000351"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:12.967684" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:12.967853" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:12.967951" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:12.963988" elapsed="0.003988"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.970030" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:12.968131" elapsed="0.001948"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.972166" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:12.970224" elapsed="0.001992"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:12.974042" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.972286" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.972267" elapsed="0.001846"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:12.976671" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:12.976716" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:12.974247" elapsed="0.002492"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:12.978503" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:12.976831" elapsed="0.001728"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.976812" elapsed="0.001770"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:12.978616" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:12.978825" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:12.978869" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:12.963137" 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-08-18T20:14:12.980989" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:12.979430" elapsed="0.001604"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:12.979411" elapsed="0.001645"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.981604" 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-08-18T20:14:12.981199" elapsed="0.000433"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.982175" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:12.981821" elapsed="0.000381"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:12.982252" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:12.982433" 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-08-18T20:14:12.979101" elapsed="0.003357"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:12.982612" 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-08-18T20:14:12.962510" elapsed="0.020565"/>
</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-08-18T20:14:12.917823" elapsed="0.065309"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:12.911103" elapsed="0.072138"/>
</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-08-18T20:14:12.993966" 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-08-18T20:14:12.994161" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.993829" elapsed="0.000362"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:12.994734" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2b6f0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:12.994340" elapsed="0.000439"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.995240" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:12.994927" elapsed="0.000340"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.995683" 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-08-18T20:14:12.995416" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:12.996141" 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-08-18T20:14:12.995873" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:12.997133" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:12.996313" elapsed="0.000852"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.997644" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:12.997319" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.998195" 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-08-18T20:14:12.997876" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.998702" 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-08-18T20:14:12.998383" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.999213" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:12.998906" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:12.999712" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:12.999402" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.000232" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987c2b6f0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:12.999919" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:12.993485" elapsed="0.006843"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.000867" 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-08-18T20:14:13.000476" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.001280" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.001043" 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-08-18T20:14:13.008888" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.008578" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.013476" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.013590" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.013719" 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-08-18T20:14:13.009041" elapsed="0.004736"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.014187" 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-08-18T20:14:13.013937" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.016315" 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-08-18T20:14:13.014369" elapsed="0.001996"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.018173" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.016434" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.016415" elapsed="0.001848"/>
</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-08-18T20:14:13.018400" 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-08-18T20:14:13.018619" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.018490" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.018474" elapsed="0.000218"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.018723" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:13.020326" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.020370" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.008271" elapsed="0.012121"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.022521" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.020935" elapsed="0.001651"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.020917" elapsed="0.001700"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.023393" 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-08-18T20:14:13.022837" elapsed="0.000592"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.024160" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.023649" elapsed="0.000547"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.024266" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:13.024517" 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-08-18T20:14:13.020597" elapsed="0.003955"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.024786" elapsed="0.000533"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.007691" elapsed="0.017717"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.035672" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.035382" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.039991" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.040103" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.040198" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.035840" elapsed="0.004383"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.040661" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.040402" elapsed="0.000309"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.043066" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.040868" elapsed="0.002284"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.044966" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.043228" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.043209" elapsed="0.001827"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.048276" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.048340" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.045175" elapsed="0.003196"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.050878" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.048478" elapsed="0.002480"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.048452" elapsed="0.002539"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.051039" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:14:13.051306" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.051366" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.035013" elapsed="0.016385"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.054388" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.052181" elapsed="0.002274"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.052156" elapsed="0.002329"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.055269" 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-08-18T20:14:13.054693" elapsed="0.000613"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.056049" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.055527" elapsed="0.000559"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.056155" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:13.056401" 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-08-18T20:14:13.051688" elapsed="0.004748"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.056649" 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-08-18T20:14:13.034350" elapsed="0.022951"/>
</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-08-18T20:14:12.990279" elapsed="0.067100"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:12.983486" elapsed="0.074044"/>
</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-08-18T20:14:13.068651" 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-08-18T20:14:13.068795" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.068517" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.069367" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5ee0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.068975" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.069886" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.069556" elapsed="0.000358"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.070332" 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-08-18T20:14:13.070063" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.070785" 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-08-18T20:14:13.070504" elapsed="0.000308"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.071765" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:13.070959" elapsed="0.000839"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.072283" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.071952" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.072882" 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-08-18T20:14:13.072523" elapsed="0.000402"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.073410" 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-08-18T20:14:13.073083" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.074017" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.073600" elapsed="0.000464"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.074535" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:13.074219" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.075057" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a5ee0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.074726" 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-08-18T20:14:13.068193" elapsed="0.006960"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.075674" 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-08-18T20:14:13.075298" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.076113" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.075874" 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-08-18T20:14:13.083717" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.083425" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.087677" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.087811" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.087910" 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-08-18T20:14:13.083887" elapsed="0.004048"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.088340" 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-08-18T20:14:13.088092" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.090501" 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-08-18T20:14:13.088525" 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-08-18T20:14:13.093088" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.090673" elapsed="0.002507"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.090647" elapsed="0.002566"/>
</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-08-18T20:14:13.093405" elapsed="0.000074"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.093798" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.093580" elapsed="0.000293"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.093556" elapsed="0.000349"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.093950" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:14:13.096198" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.096260" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.083119" elapsed="0.013172"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.099066" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.097056" elapsed="0.002055"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.097030" elapsed="0.002103"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.099730" 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-08-18T20:14:13.099275" elapsed="0.000498"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.100276" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.099933" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.100352" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:13.100527" 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-08-18T20:14:13.096580" elapsed="0.003972"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.100703" 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-08-18T20:14:13.082561" elapsed="0.018602"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.108854" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.108546" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.112975" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.113086" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.113181" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.109007" elapsed="0.004198"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.113610" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.113362" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.115979" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.113841" elapsed="0.002189"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.117841" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.116099" elapsed="0.001791"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.116080" elapsed="0.001832"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.120524" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.120570" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.118048" elapsed="0.002544"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.122378" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.120668" elapsed="0.001765"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.120649" elapsed="0.001808"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.122500" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:14:13.122794" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.122913" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.108178" 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-08-18T20:14:13.125911" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.123696" elapsed="0.002277"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.123672" elapsed="0.002331"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.126770" 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-08-18T20:14:13.126204" elapsed="0.000605"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.127516" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.127029" elapsed="0.000523"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.127621" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:13.127890" 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-08-18T20:14:13.123243" elapsed="0.004683"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.128140" elapsed="0.000529"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.107559" elapsed="0.021219"/>
</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-08-18T20:14:13.064949" elapsed="0.063909"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.057931" elapsed="0.071077"/>
</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-08-18T20:14:13.141213" 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-08-18T20:14:13.141341" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.141077" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.141947" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c0e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.141516" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.142395" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.142123" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.142857" 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-08-18T20:14:13.142573" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.143294" 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-08-18T20:14:13.143028" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.144341" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:13.143465" elapsed="0.000907"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.144863" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.144525" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.145372" 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-08-18T20:14:13.145054" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.145934" 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-08-18T20:14:13.145560" elapsed="0.000415"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.146432" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.146123" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.146962" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:13.146624" elapsed="0.000419"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.147510" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c0e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.147194" elapsed="0.000358"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:13.140735" elapsed="0.006872"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.148146" 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-08-18T20:14:13.147768" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.148559" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.148322" 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-08-18T20:14:13.156181" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.155890" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.160025" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.160138" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.160235" 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-08-18T20:14:13.156335" elapsed="0.003926"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.160664" 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-08-18T20:14:13.160416" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.162831" 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-08-18T20:14:13.160868" elapsed="0.002014"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.164699" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.162951" elapsed="0.001829"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.162932" elapsed="0.001873"/>
</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-08-18T20:14:13.164943" 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-08-18T20:14:13.165161" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.165032" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.165016" elapsed="0.000218"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.165265" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:13.166874" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.166918" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.155567" elapsed="0.011374"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.169064" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.167483" elapsed="0.001629"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.167465" elapsed="0.001669"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.169710" 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-08-18T20:14:13.169277" elapsed="0.000460"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.170265" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.169915" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.170341" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:13.170519" 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-08-18T20:14:13.167148" elapsed="0.003396"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.170696" 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-08-18T20:14:13.155021" elapsed="0.016146"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.178857" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.178549" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.183612" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.183905" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.184016" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.179011" elapsed="0.005031"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.184454" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.184199" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.186611" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.184640" elapsed="0.002022"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.188452" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.186730" elapsed="0.001771"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.186712" elapsed="0.001811"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.191543" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.191606" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.188658" elapsed="0.002979"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.194119" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.191762" elapsed="0.002434"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.191717" elapsed="0.002511"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.194273" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:13.194538" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.194598" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.178180" elapsed="0.016448"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.197652" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.195391" elapsed="0.002326"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.195367" elapsed="0.002400"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.198560" 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-08-18T20:14:13.197973" elapsed="0.000624"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.199582" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.199048" elapsed="0.000578"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.199697" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:14:13.199976" 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-08-18T20:14:13.194941" elapsed="0.005070"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.200228" elapsed="0.000607"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.177564" elapsed="0.023372"/>
</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-08-18T20:14:13.137524" elapsed="0.063496"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.129330" elapsed="0.071851"/>
</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-08-18T20:14:13.212372" 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-08-18T20:14:13.212502" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.212223" elapsed="0.000313"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.213137" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853885e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.212695" elapsed="0.000477"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.213661" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.213333" elapsed="0.000355"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.214126" 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-08-18T20:14:13.213854" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.214582" 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-08-18T20:14:13.214310" elapsed="0.000302"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.215696" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:13.214779" elapsed="0.000949"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.216238" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.215908" elapsed="0.000381"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.216778" 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-08-18T20:14:13.216442" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.217302" 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-08-18T20:14:13.216971" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.217837" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.217508" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.218357" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:13.218034" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.218899" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853885e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.218552" 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-08-18T20:14:13.211898" elapsed="0.007097"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.219544" 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-08-18T20:14:13.219143" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.220059" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.219733" elapsed="0.000393"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.227917" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.227588" elapsed="0.000356"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.232497" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.232627" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.232727" 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-08-18T20:14:13.228072" elapsed="0.004704"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.233197" 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-08-18T20:14:13.232937" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.235475" 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-08-18T20:14:13.233393" elapsed="0.002138"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.237353" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.235600" elapsed="0.001820"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.235582" elapsed="0.001862"/>
</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-08-18T20:14:13.237624" 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-08-18T20:14:13.237878" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.237714" elapsed="0.000218"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.237698" elapsed="0.000257"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.237987" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:13.240074" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.240136" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.227266" elapsed="0.012902"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.243191" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.240951" elapsed="0.002304"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.240925" elapsed="0.002370"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.244083" 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-08-18T20:14:13.243498" elapsed="0.000622"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.244881" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.244357" elapsed="0.000561"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.245030" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:14:13.245293" 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-08-18T20:14:13.240469" 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-08-18T20:14:13.245577" 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-08-18T20:14:13.226698" 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-08-18T20:14:13.255535" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.255218" elapsed="0.000344"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.260321" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.260437" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.260580" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.255703" elapsed="0.004912"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.261213" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.260862" elapsed="0.000420"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.264278" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.261511" 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-08-18T20:14:13.266934" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.264464" elapsed="0.002540"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.264435" elapsed="0.002599"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.270926" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.270972" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.267223" elapsed="0.003778"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.272780" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.271080" elapsed="0.001758"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.271061" elapsed="0.001800"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.272894" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:13.273085" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.273127" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.254830" elapsed="0.018319"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.275293" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.273713" elapsed="0.001625"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.273695" elapsed="0.001665"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.275918" 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-08-18T20:14:13.275507" elapsed="0.000438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.276448" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.276103" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.276522" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:13.276696" 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-08-18T20:14:13.273358" elapsed="0.003363"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.276888" elapsed="0.000377"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.254178" elapsed="0.023189"/>
</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-08-18T20:14:13.208656" elapsed="0.068782"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.201614" elapsed="0.075933"/>
</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-08-18T20:14:13.288783" 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-08-18T20:14:13.288916" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.288630" elapsed="0.000315"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.289534" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abed40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.289095" elapsed="0.000468"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.290003" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.289710" elapsed="0.000319"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.290443" 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-08-18T20:14:13.290177" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.290911" 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-08-18T20:14:13.290624" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.291810" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:13.291083" elapsed="0.000758"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.292315" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.291994" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.292858" 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-08-18T20:14:13.292505" elapsed="0.000395"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.293370" 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-08-18T20:14:13.293051" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.293915" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.293589" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.294421" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:13.294108" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.294941" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abed40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.294613" 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-08-18T20:14:13.288287" elapsed="0.006749"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.295557" 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-08-18T20:14:13.295182" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.295989" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.295734" elapsed="0.000357"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.304067" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.303769" elapsed="0.000325"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.308061" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.308178" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.308284" 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-08-18T20:14:13.304220" elapsed="0.004089"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.308714" 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-08-18T20:14:13.308466" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.310863" 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-08-18T20:14:13.308916" elapsed="0.001999"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.312692" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.310985" elapsed="0.001787"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.310966" elapsed="0.001832"/>
</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-08-18T20:14:13.312936" 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-08-18T20:14:13.313159" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.313026" elapsed="0.000184"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.313010" elapsed="0.000223"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.313264" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:13.314877" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.314921" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.303426" elapsed="0.011517"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.317044" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.315472" elapsed="0.001616"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.315454" elapsed="0.001656"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.317687" 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-08-18T20:14:13.317254" elapsed="0.000459"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.318231" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.317887" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.318305" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:13.318481" 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-08-18T20:14:13.315150" elapsed="0.003355"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.318657" 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-08-18T20:14:13.302874" elapsed="0.016241"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.326736" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.326444" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.330908" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.331060" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.331157" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.326905" elapsed="0.004277"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.331587" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.331338" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.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-08-18T20:14:13.331784" elapsed="0.002167"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.335756" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.334020" elapsed="0.001787"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.334001" elapsed="0.001829"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.338644" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.338709" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.335965" elapsed="0.002776"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.341197" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.338870" elapsed="0.002406"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.338844" elapsed="0.002480"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.341372" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:13.341638" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.341697" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.326075" elapsed="0.015652"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.344666" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.342491" elapsed="0.002237"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.342467" elapsed="0.002310"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.345547" 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-08-18T20:14:13.344979" elapsed="0.000606"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.346312" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.345825" elapsed="0.000523"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.346417" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:13.346662" 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-08-18T20:14:13.342039" elapsed="0.004657"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.346935" 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-08-18T20:14:13.325460" elapsed="0.022088"/>
</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-08-18T20:14:13.284879" elapsed="0.062747"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.277799" elapsed="0.069996"/>
</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-08-18T20:14:13.359285" 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-08-18T20:14:13.359413" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.359150" elapsed="0.000292"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.360014" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3da30&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.359589" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.360506" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.360190" elapsed="0.000343"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.360969" 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-08-18T20:14:13.360682" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.361437" 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-08-18T20:14:13.361144" elapsed="0.000318"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.363920" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:13.361609" elapsed="0.002343"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.364431" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.364106" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.364954" 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-08-18T20:14:13.364625" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.365469" 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-08-18T20:14:13.365142" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.365977" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.365655" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.366479" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:13.366166" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.367004" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3da30&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.366669" 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-08-18T20:14:13.358828" elapsed="0.008271"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.367614" 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-08-18T20:14:13.367242" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.368041" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.367804" 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-08-18T20:14:13.375689" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.375395" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.379684" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.379820" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.379957" 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-08-18T20:14:13.375857" elapsed="0.004126"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.380385" 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-08-18T20:14:13.380138" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.382517" 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-08-18T20:14:13.380566" elapsed="0.002002"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.384355" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.382637" elapsed="0.001785"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.382618" elapsed="0.001828"/>
</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-08-18T20:14:13.384584" 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-08-18T20:14:13.384819" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.384674" elapsed="0.000198"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.384658" elapsed="0.000237"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.384927" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:13.386556" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.386601" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.375090" elapsed="0.011533"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.388724" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.387173" elapsed="0.001609"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.387155" elapsed="0.001649"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.389369" 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-08-18T20:14:13.388947" elapsed="0.000449"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.389916" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.389553" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.389991" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:13.390168" 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-08-18T20:14:13.386846" elapsed="0.003347"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.390345" elapsed="0.000379"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.374534" elapsed="0.016271"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.398540" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.398231" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.403176" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.403304" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.403401" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.398697" elapsed="0.004728"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.403855" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.403584" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.406270" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.404040" elapsed="0.002420"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.408275" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.406539" elapsed="0.001787"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.406517" elapsed="0.001831"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.411836" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.411900" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.408484" elapsed="0.003447"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.414409" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.412037" elapsed="0.002454"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.412011" elapsed="0.002513"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.414571" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:14:13.414864" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.414924" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.397852" elapsed="0.017103"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.417924" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.415695" elapsed="0.002291"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.415670" elapsed="0.002347"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.418793" 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-08-18T20:14:13.418217" elapsed="0.000615"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.419539" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.419055" elapsed="0.000520"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.419644" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:13.419914" 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-08-18T20:14:13.415246" elapsed="0.004703"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.420164" elapsed="0.000540"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.397173" elapsed="0.023642"/>
</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-08-18T20:14:13.355616" elapsed="0.065280"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.348127" elapsed="0.072932"/>
</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-08-18T20:14:13.433111" 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-08-18T20:14:13.433327" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.432968" elapsed="0.000389"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.433962" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388c70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.433514" elapsed="0.000476"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.434422" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.434142" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.434884" 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-08-18T20:14:13.434598" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.435325" 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-08-18T20:14:13.435058" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.436434" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:13.435498" elapsed="0.000967"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.436972" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.436621" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.437541" 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-08-18T20:14:13.437221" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.438071" 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-08-18T20:14:13.437733" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.438566" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.438259" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.439086" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:13.438772" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.439591" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985388c70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.439279" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:13.432629" elapsed="0.007058"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.440225" 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-08-18T20:14:13.439848" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.440637" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.440402" 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-08-18T20:14:13.448422" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.448120" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.452458" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.452597" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.452694" 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-08-18T20:14:13.448578" elapsed="0.004141"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.453148" 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-08-18T20:14:13.452900" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.455310" 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-08-18T20:14:13.453351" elapsed="0.002010"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.457297" elapsed="0.000035"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.455436" elapsed="0.001938"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.455414" elapsed="0.001985"/>
</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-08-18T20:14:13.457542" 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-08-18T20:14:13.457779" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.457634" elapsed="0.000199"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.457617" elapsed="0.000240"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.457889" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:14:13.459530" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.459575" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.447808" elapsed="0.011790"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.461790" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.460147" elapsed="0.001689"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.460129" elapsed="0.001730"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.462399" 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-08-18T20:14:13.462003" elapsed="0.000422"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.462946" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.462584" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.463022" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:13.463198" 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-08-18T20:14:13.459822" elapsed="0.003401"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.463377" 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-08-18T20:14:13.447234" elapsed="0.016609"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.471858" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.471546" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.476202" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.476322" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.476431" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.472013" elapsed="0.004444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.476897" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.476619" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.479041" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.477085" elapsed="0.002006"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.480895" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.479161" elapsed="0.001783"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.479142" elapsed="0.001825"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.484679" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.484762" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.481104" 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-08-18T20:14:13.487277" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.484903" elapsed="0.002507"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.484877" elapsed="0.002570"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.487495" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:13.487791" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.487854" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.471177" elapsed="0.016708"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.490875" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.488643" elapsed="0.002295"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.488618" elapsed="0.002352"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.491726" 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-08-18T20:14:13.491172" elapsed="0.000611"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.492493" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.492009" elapsed="0.000521"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.492599" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:13.492870" 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-08-18T20:14:13.488184" elapsed="0.004721"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.493157" elapsed="0.000549"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.470558" elapsed="0.023229"/>
</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-08-18T20:14:13.429433" elapsed="0.064412"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.421455" elapsed="0.072506"/>
</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-08-18T20:14:13.504770" 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-08-18T20:14:13.504918" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.504616" elapsed="0.000331"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.505565" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538be20&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.505127" elapsed="0.000466"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.506041" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.505760" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.506480" 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-08-18T20:14:13.506216" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.506945" 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-08-18T20:14:13.506660" elapsed="0.000311"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.507869" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:13.507120" elapsed="0.000780"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.508380" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.508057" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.508902" 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-08-18T20:14:13.508571" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.509426" 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-08-18T20:14:13.509105" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.509942" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.509620" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.510504" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:13.510185" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.511031" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538be20&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.510698" 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-08-18T20:14:13.504289" elapsed="0.006837"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.511651" 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-08-18T20:14:13.511273" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.512084" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.511844" 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-08-18T20:14:13.519953" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.519633" elapsed="0.000347"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.524386" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.524531" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.524709" 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-08-18T20:14:13.520109" elapsed="0.004660"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.525358" 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-08-18T20:14:13.524993" elapsed="0.000429"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.528572" 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-08-18T20:14:13.525620" elapsed="0.003023"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.531175" elapsed="0.000043"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.528766" elapsed="0.002506"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.528718" elapsed="0.002588"/>
</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-08-18T20:14:13.531502" 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-08-18T20:14:13.531834" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.531629" elapsed="0.000279"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.531607" elapsed="0.000333"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.531984" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:14:13.534096" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.534177" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.519325" elapsed="0.014876"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.536307" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.534760" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.534729" elapsed="0.001645"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.536932" 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-08-18T20:14:13.536516" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.537510" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.537148" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.537586" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:13.537780" 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-08-18T20:14:13.534413" elapsed="0.003393"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.537961" 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-08-18T20:14:13.518772" elapsed="0.019638"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.546111" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.545815" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.551848" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.551962" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.552058" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.546264" elapsed="0.005820"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.552498" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.552244" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.554719" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.552684" 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-08-18T20:14:13.556625" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.554856" elapsed="0.001818"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.554837" elapsed="0.001860"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.560251" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.560316" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.556847" elapsed="0.003501"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.563205" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.560454" elapsed="0.002830"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.560429" elapsed="0.002888"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.563364" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:13.563631" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.563691" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.545430" elapsed="0.018293"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.566811" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.564513" elapsed="0.002363"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.564489" elapsed="0.002471"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.567727" 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-08-18T20:14:13.567171" elapsed="0.000615"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.568502" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.568011" elapsed="0.000528"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.568609" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:13.568882" 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-08-18T20:14:13.564057" elapsed="0.004860"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.569182" elapsed="0.000539"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.544797" elapsed="0.025004"/>
</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-08-18T20:14:13.500860" elapsed="0.068999"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.494144" elapsed="0.075833"/>
</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-08-18T20:14:13.580967" 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-08-18T20:14:13.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;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-08-18T20:14:13.580828" elapsed="0.000336"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.581717" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4590&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.581315" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.582191" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.581914" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.582633" 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-08-18T20:14:13.582366" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.583093" 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-08-18T20:14:13.582823" elapsed="0.000296"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.583949" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:13.583266" elapsed="0.000713"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.584463" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.584134" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.585006" 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-08-18T20:14:13.584655" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.585527" 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-08-18T20:14:13.585203" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.586040" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.585715" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.586548" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:13.586233" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.587068" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a4590&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.586738" 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-08-18T20:14:13.580487" elapsed="0.006676"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.587726" 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-08-18T20:14:13.587309" elapsed="0.000462"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.588160" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:13.587922" 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-08-18T20:14:13.596196" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.595901" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.600861" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.601008" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.601112" 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-08-18T20:14:13.596349" elapsed="0.004788"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.601546" 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-08-18T20:14:13.601293" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.603680" 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-08-18T20:14:13.601729" elapsed="0.002002"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.605575" elapsed="0.000044"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.603816" elapsed="0.001859"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.603796" 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-08-18T20:14:13.605924" 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-08-18T20:14:13.606234" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.606051" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.606029" elapsed="0.000307"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.606381" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:14:13.608636" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.608698" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.595576" elapsed="0.013153"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.611720" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.609520" elapsed="0.002282"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.609495" elapsed="0.002339"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.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-08-18T20:14:13.612036" elapsed="0.000586"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.613365" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.612863" elapsed="0.000582"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.613517" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:14:13.613792" 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-08-18T20:14:13.609057" 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-08-18T20:14:13.614045" elapsed="0.000531"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.595023" elapsed="0.019641"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.623298" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.623004" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.627796" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.627910" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.628005" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.623452" elapsed="0.004578"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.628436" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.628188" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.630761" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.628618" elapsed="0.002196"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.632618" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.630883" elapsed="0.001783"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.630865" elapsed="0.001823"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.635413" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.635458" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.632838" elapsed="0.002643"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.637276" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.635563" elapsed="0.001768"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.635544" elapsed="0.001810"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.637387" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:13.637658" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.637722" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.622619" elapsed="0.015159"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.640728" elapsed="0.000039"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.638531" elapsed="0.002281"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.638507" elapsed="0.002336"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.641632" 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-08-18T20:14:13.641075" elapsed="0.000594"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.642399" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.641913" elapsed="0.000523"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.642504" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:13.642770" 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-08-18T20:14:13.638074" elapsed="0.004732"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.643080" elapsed="0.000540"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.622013" elapsed="0.021694"/>
</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-08-18T20:14:13.577174" elapsed="0.066634"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.570158" elapsed="0.073801"/>
</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-08-18T20:14:13.656263" 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-08-18T20:14:13.656391" 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-08-18T20:14:13.656130" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.656995" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c9a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.656569" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.657444" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.657173" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.657903" 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-08-18T20:14:13.657620" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.658342" 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-08-18T20:14:13.658078" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.659351" 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-08-18T20:14:13.658514" elapsed="0.000869"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.659879" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.659536" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.660390" 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-08-18T20:14:13.660072" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.660940" 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-08-18T20:14:13.660579" elapsed="0.000403"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.661436" 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-08-18T20:14:13.661130" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.661954" 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-08-18T20:14:13.661626" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.662457" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c9a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.662146" elapsed="0.000352"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:13.655805" elapsed="0.006747"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.663089" 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-08-18T20:14:13.662697" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.663503" 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-08-18T20:14:13.663267" 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-08-18T20:14:13.671201" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.670907" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.675287" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.675401" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.675497" 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-08-18T20:14:13.671354" elapsed="0.004168"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.675949" 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-08-18T20:14:13.675678" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.678109" 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-08-18T20:14:13.676135" 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-08-18T20:14:13.679959" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.678229" elapsed="0.001797"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.678210" elapsed="0.001840"/>
</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-08-18T20:14:13.680189" 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-08-18T20:14:13.680411" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.680279" elapsed="0.000182"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.680263" elapsed="0.000221"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.680515" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:13.682177" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.682222" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.670576" elapsed="0.011669"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.684350" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.682791" elapsed="0.001604"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.682772" elapsed="0.001644"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.684992" 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-08-18T20:14:13.684558" elapsed="0.000460"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.685528" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.685176" elapsed="0.000392"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.685642" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:14:13.685917" 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-08-18T20:14:13.682451" elapsed="0.003501"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.686165" elapsed="0.000526"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.670035" elapsed="0.016764"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.697501" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.697074" elapsed="0.000473"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.701718" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.701916" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.702018" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.697708" elapsed="0.004336"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.702479" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.702214" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.704867" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.702662" elapsed="0.002257"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.706716" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.704993" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.704972" elapsed="0.001831"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.709477" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.709540" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.706943" elapsed="0.002637"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.712060" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.709708" elapsed="0.002430"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.709680" elapsed="0.002491"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.712217" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:14:13.712488" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.712547" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.696498" elapsed="0.016080"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.715583" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.713392" elapsed="0.002254"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.713368" elapsed="0.002308"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.716459" 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-08-18T20:14:13.715896" elapsed="0.000600"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.717239" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.716716" elapsed="0.000559"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.717345" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:13.717592" 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-08-18T20:14:13.712931" elapsed="0.004695"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.717863" elapsed="0.000544"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.695646" elapsed="0.022855"/>
</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-08-18T20:14:13.652585" elapsed="0.065995"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.644279" elapsed="0.074454"/>
</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-08-18T20:14:13.730423" 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-08-18T20:14:13.730561" 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-08-18T20:14:13.730286" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.731159" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f510&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.730740" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.731655" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.731335" elapsed="0.000347"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.732120" 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-08-18T20:14:13.731848" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.732560" 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-08-18T20:14:13.732293" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.733594" 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-08-18T20:14:13.732732" elapsed="0.000893"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.734123" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.733796" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.734629" 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-08-18T20:14:13.734315" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.735154" 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-08-18T20:14:13.734834" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.735646" 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-08-18T20:14:13.735341" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.736165" 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-08-18T20:14:13.735851" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.736669" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f510&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.736357" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:13.729958" elapsed="0.006836"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.737317" 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-08-18T20:14:13.736943" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.737731" 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-08-18T20:14:13.737496" 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-08-18T20:14:13.745435" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.745139" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.749551" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.749664" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.749813" 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-08-18T20:14:13.745589" elapsed="0.004250"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.750248" 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-08-18T20:14:13.749998" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.752382" 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-08-18T20:14:13.750432" elapsed="0.002000"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.754233" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.752502" elapsed="0.001796"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.752483" elapsed="0.001840"/>
</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-08-18T20:14:13.754463" 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-08-18T20:14:13.754685" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.754553" elapsed="0.000182"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.754537" elapsed="0.000236"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.754806" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:13.756391" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.756436" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.744820" elapsed="0.011638"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.759084" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.757027" elapsed="0.002121"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.757009" elapsed="0.002169"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.759949" 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-08-18T20:14:13.759378" elapsed="0.000608"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.760687" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.760206" elapsed="0.000517"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.760856" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:14:13.761110" 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-08-18T20:14:13.756664" elapsed="0.004481"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.761357" 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-08-18T20:14:13.744230" elapsed="0.017765"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.771823" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.771511" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.776108" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.776220" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.776314" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.771976" elapsed="0.004363"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.778781" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.776497" elapsed="0.002353"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.781803" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.779048" elapsed="0.002875"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.784433" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.782022" elapsed="0.002478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.781996" elapsed="0.002534"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.788194" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.788293" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.784731" elapsed="0.003595"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.790523" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.788433" elapsed="0.002145"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.788407" elapsed="0.002195"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.790636" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:13.790849" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.790893" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.771143" elapsed="0.019772"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.793064" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.791457" elapsed="0.001652"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.791440" elapsed="0.001691"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.793674" 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-08-18T20:14:13.793274" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.794225" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.793875" elapsed="0.000376"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.794300" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:13.794477" 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-08-18T20:14:13.791131" elapsed="0.003371"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.794654" 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-08-18T20:14:13.770526" elapsed="0.024585"/>
</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-08-18T20:14:13.726709" elapsed="0.068457"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.719109" elapsed="0.076163"/>
</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-08-18T20:14:13.805949" 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-08-18T20:14:13.806076" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:13.805812" elapsed="0.000293"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.806629" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9710&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.806251" elapsed="0.000405"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.807092" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.806818" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.807534" 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-08-18T20:14:13.807268" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.807986" 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-08-18T20:14:13.807706" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.808938" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:13.808157" elapsed="0.000812"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.809446" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.809123" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.810006" 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-08-18T20:14:13.809672" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.810511" 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-08-18T20:14:13.810195" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.811021" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:13.810697" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.811523" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:13.811212" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.812044" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9896b9710&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.811714" 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-08-18T20:14:13.805477" elapsed="0.006663"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.812662" 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-08-18T20:14:13.812285" elapsed="0.000432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.813121" level="INFO">&lt;?xml version="1.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-08-18T20:14:13.812880" 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-08-18T20:14:13.820713" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.820405" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.825402" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.825518" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.825615" 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-08-18T20:14:13.820885" elapsed="0.004755"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.826066" 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-08-18T20:14:13.825817" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.828185" 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-08-18T20:14:13.826251" elapsed="0.001984"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.830048" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.828304" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.828286" elapsed="0.001851"/>
</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-08-18T20:14:13.830274" 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-08-18T20:14:13.830537" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.830363" elapsed="0.000227"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.830347" elapsed="0.000266"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.830645" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:13.832254" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.832298" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.820096" elapsed="0.012225"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.834633" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.832899" elapsed="0.001799"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.832881" elapsed="0.001848"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.835530" 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-08-18T20:14:13.834958" elapsed="0.000704"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.836408" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.835916" elapsed="0.000529"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.836515" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:14:13.836813" 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-08-18T20:14:13.832527" elapsed="0.004322"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.837065" 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-08-18T20:14:13.819538" elapsed="0.018161"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.847705" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.847403" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.851811" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.851938" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.852034" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.847877" elapsed="0.004183"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.852465" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.852218" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.854842" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.852667" elapsed="0.002227"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.856753" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.854965" elapsed="0.001841"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.854945" elapsed="0.001884"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.860317" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.860380" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.856966" elapsed="0.003446"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.862904" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.860523" elapsed="0.002460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.860497" elapsed="0.002519"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.863064" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:13.863330" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.863389" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.847030" elapsed="0.016389"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.866458" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.864257" elapsed="0.002264"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.864232" elapsed="0.002320"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.867329" 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-08-18T20:14:13.866771" elapsed="0.000595"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.868110" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.867590" elapsed="0.000556"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.868217" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:13.868464" 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-08-18T20:14:13.863798" elapsed="0.004701"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.868769" 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-08-18T20:14:13.846400" elapsed="0.022993"/>
</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-08-18T20:14:13.802273" elapsed="0.067200"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.795506" elapsed="0.074095"/>
</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-08-18T20:14:13.880354" 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-08-18T20:14:13.880488" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:13.880218" elapsed="0.000298"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.881093" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a8ea0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.880688" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.881544" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.881269" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.882003" 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-08-18T20:14:13.881719" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.882441" 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-08-18T20:14:13.882176" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.883172" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:13.882610" elapsed="0.000593"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.883879" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.883355" elapsed="0.000568"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.884395" 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-08-18T20:14:13.884075" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.884943" 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-08-18T20:14:13.884586" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.885443" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:13.885132" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.885971" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:13.885638" elapsed="0.000387"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.886486" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a8ea0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.886173" 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-08-18T20:14:13.879894" elapsed="0.006726"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.887158" 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-08-18T20:14:13.886780" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.887570" level="INFO">&lt;?xml version="1.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-08-18T20:14:13.887334" elapsed="0.000290"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.895231" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.894939" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.899593" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.899710" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.899827" 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-08-18T20:14:13.895384" elapsed="0.004469"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.900258" 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-08-18T20:14:13.900010" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.902407" 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-08-18T20:14:13.900441" elapsed="0.002016"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:13.904248" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.902528" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.902508" elapsed="0.001830"/>
</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-08-18T20:14:13.904474" 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-08-18T20:14:13.904732" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.904588" elapsed="0.000211"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.904547" elapsed="0.000275"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.904854" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:14:13.906823" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.906886" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.894613" elapsed="0.012305"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.909879" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.907664" elapsed="0.002278"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.907638" elapsed="0.002334"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.910718" 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-08-18T20:14:13.910169" elapsed="0.000607"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.911479" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.910997" elapsed="0.000518"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.911632" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:14:13.911908" 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-08-18T20:14:13.907209" elapsed="0.004735"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.912160" elapsed="0.000554"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:13.894065" elapsed="0.018759"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.921832" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.921517" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.926359" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.926478" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:13.926614" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.921987" elapsed="0.004662"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.927242" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:13.926897" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.930498" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:13.927501" elapsed="0.003067"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.933099" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.930664" elapsed="0.002504"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.930638" elapsed="0.002561"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.936764" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:13.936832" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:13.933389" elapsed="0.003475"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.938850" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.936970" elapsed="0.001937"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.936944" elapsed="0.001986"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:13.938963" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:13.939155" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:13.939198" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.921143" elapsed="0.018077"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.941429" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.939769" elapsed="0.001705"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.939737" elapsed="0.001761"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.942061" 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-08-18T20:14:13.941646" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.942590" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.942245" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.942665" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:13.942857" 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-08-18T20:14:13.939431" elapsed="0.003452"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.943037" 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-08-18T20:14:13.920489" elapsed="0.023043"/>
</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-08-18T20:14:13.876689" elapsed="0.066900"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.869878" elapsed="0.073824"/>
</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-08-18T20:14:13.954433" 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-08-18T20:14:13.954572" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:13.954293" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:13.955158" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c130&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:13.954767" elapsed="0.000419"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.955608" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:13.955334" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.956064" 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-08-18T20:14:13.955797" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:13.956516" 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-08-18T20:14:13.956239" elapsed="0.000303"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:13.957263" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:13.956689" elapsed="0.000604"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.957787" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.957449" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.958479" 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-08-18T20:14:13.957978" elapsed="0.000542"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.959012" 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-08-18T20:14:13.958670" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.959507" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:13.959200" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.960035" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:13.959697" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.960571" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c130&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:13.960225" 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-08-18T20:14:13.953965" elapsed="0.006704"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.961224" 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-08-18T20:14:13.960838" elapsed="0.000416"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.961639" level="INFO">&lt;?xml version="1.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-08-18T20:14:13.961403" 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-08-18T20:14:13.969404" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.969108" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:13.974060" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:13.974186" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:13.974282" 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-08-18T20:14:13.969556" elapsed="0.004751"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.974719" 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-08-18T20:14:13.974468" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.976935" 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-08-18T20:14:13.974927" 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-08-18T20:14:13.978830" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:14:13.977058" elapsed="0.001842"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.977038" 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-08-18T20:14:13.979064" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:13.979286" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:13.979154" elapsed="0.000183"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:13.979138" elapsed="0.000222"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.979391" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:13.981029" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:13.981074" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:13.968795" elapsed="0.012301"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:13.983934" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:13.981761" elapsed="0.002235"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:13.981718" elapsed="0.002308"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.984833" 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-08-18T20:14:13.984227" elapsed="0.000643"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.985574" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:13.985091" elapsed="0.000519"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:13.985679" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:13.985952" 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-08-18T20:14:13.981309" elapsed="0.004678"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:13.986205" 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-08-18T20:14:13.968202" elapsed="0.018655"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:13.996466" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:13.996161" elapsed="0.000360"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.001571" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.001731" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.001850" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:13.996649" elapsed="0.005226"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.002281" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.002032" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.004632" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.002464" elapsed="0.002220"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.006928" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.004783" elapsed="0.002214"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.004736" elapsed="0.002292"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.010583" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.010647" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.007216" elapsed="0.003462"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.013149" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.010807" elapsed="0.002419"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.010780" elapsed="0.002479"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.013306" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:14.013572" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.013631" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:13.995789" elapsed="0.017873"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.016654" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.014429" elapsed="0.002288"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.014405" elapsed="0.002361"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.017521" 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-08-18T20:14:14.016970" elapsed="0.000578"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.018068" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.017705" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.018143" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:14.018319" 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-08-18T20:14:14.013977" elapsed="0.004367"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.018496" 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-08-18T20:14:13.995162" elapsed="0.023796"/>
</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-08-18T20:14:13.950760" elapsed="0.068254"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:13.943996" elapsed="0.075133"/>
</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-08-18T20:14:14.029789" 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-08-18T20:14:14.029930" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.029639" elapsed="0.000319"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.030514" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c270&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.030107" elapsed="0.000434"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.031027" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.030690" elapsed="0.000364"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.031473" 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-08-18T20:14:14.031204" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.031931" 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-08-18T20:14:14.031647" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.033005" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.032104" elapsed="0.000932"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.033520" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.033193" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.034045" 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-08-18T20:14:14.033711" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.034558" 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-08-18T20:14:14.034237" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.035076" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.034765" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.035579" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.035267" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.036102" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c270&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.035785" 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-08-18T20:14:14.029317" elapsed="0.006880"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.036735" 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-08-18T20:14:14.036342" elapsed="0.000439"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.037172" level="INFO">&lt;?xml version="1.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-08-18T20:14:14.036932" 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-08-18T20:14:14.044845" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.044530" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.049389" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.049550" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.049770" 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-08-18T20:14:14.044999" elapsed="0.004809"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.050382" 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-08-18T20:14:14.050032" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.053378" 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-08-18T20:14:14.050641" elapsed="0.002813"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.056004" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.053576" elapsed="0.002523"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.053543" elapsed="0.002590"/>
</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-08-18T20:14:14.056325" 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-08-18T20:14:14.056668" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.056484" elapsed="0.000254"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.056460" elapsed="0.000331"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.056836" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:14:14.059063" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.059124" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.044208" elapsed="0.014946"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.062026" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.059917" elapsed="0.002155"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.059892" elapsed="0.002202"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.062645" 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-08-18T20:14:14.062242" elapsed="0.000429"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.063194" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.062847" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.063269" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:14.063446" 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-08-18T20:14:14.059444" elapsed="0.004027"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.063638" elapsed="0.000459"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.043640" elapsed="0.020534"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.071799" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.071487" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.075978" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.076098" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.076193" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.071953" elapsed="0.004264"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.076638" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.076390" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.079004" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.076841" elapsed="0.002262"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.080945" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.079175" elapsed="0.001819"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.079156" elapsed="0.001861"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.083831" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.083877" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.081154" elapsed="0.002746"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.085826" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.083977" elapsed="0.001928"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.083958" elapsed="0.001981"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.085986" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:14.086254" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.086313" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.071114" elapsed="0.015230"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.089388" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.087114" elapsed="0.002337"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.087089" elapsed="0.002392"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.090274" 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-08-18T20:14:14.089686" elapsed="0.000626"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.091042" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.090535" elapsed="0.000543"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.091148" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.091393" 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-08-18T20:14:14.086637" elapsed="0.004791"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.091646" elapsed="0.000566"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.070496" elapsed="0.021803"/>
</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-08-18T20:14:14.026118" elapsed="0.066275"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.019401" elapsed="0.073162"/>
</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-08-18T20:14:14.104776" 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-08-18T20:14:14.104931" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.104621" elapsed="0.000338"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.105524" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853886d0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.105108" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.105995" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.105699" elapsed="0.000324"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.106436" 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-08-18T20:14:14.106170" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.106888" 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-08-18T20:14:14.106607" elapsed="0.000306"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.107946" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.107059" elapsed="0.000918"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.108491" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.108132" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.109066" 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-08-18T20:14:14.108726" elapsed="0.000382"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.109579" 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-08-18T20:14:14.109258" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.110089" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.109780" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.110617" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.110282" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.111160" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9853886d0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.110839" 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-08-18T20:14:14.104271" elapsed="0.006992"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.111826" 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-08-18T20:14:14.111419" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.112248" level="INFO">&lt;?xml version="1.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-08-18T20:14:14.112005" 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-08-18T20:14:14.119919" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.119604" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.125152" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.125273" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.125369" 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-08-18T20:14:14.120072" elapsed="0.005322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.125824" 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-08-18T20:14:14.125555" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.127961" 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-08-18T20:14:14.126007" elapsed="0.002003"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.129826" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.128078" elapsed="0.001845"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.128060" 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-08-18T20:14:14.130090" 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-08-18T20:14:14.130309" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.130180" elapsed="0.000179"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.130164" elapsed="0.000218"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.130414" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:14:14.132028" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.132072" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.119297" elapsed="0.012798"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.134543" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.132669" elapsed="0.001937"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.132651" elapsed="0.001985"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.135405" 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-08-18T20:14:14.134857" elapsed="0.000586"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.136168" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.135663" elapsed="0.000540"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.136297" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:14:14.136549" 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-08-18T20:14:14.132335" 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-08-18T20:14:14.136816" 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-08-18T20:14:14.118751" elapsed="0.018691"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.147310" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.147016" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.151953" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.152067" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.152172" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.147466" elapsed="0.004731"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.152613" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.152364" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.154759" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.152813" elapsed="0.002000"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.156694" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.154881" elapsed="0.001900"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.154863" elapsed="0.001950"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.160662" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.160726" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.157003" elapsed="0.003776"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.163228" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.160885" elapsed="0.002419"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.160860" elapsed="0.002476"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.163433" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.163702" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.163782" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.146629" elapsed="0.017187"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.166798" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.164595" elapsed="0.002267"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.164571" elapsed="0.002321"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.167660" 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-08-18T20:14:14.167091" elapsed="0.000606"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.168461" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.167941" elapsed="0.000550"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.168541" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:14.168718" 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-08-18T20:14:14.164109" elapsed="0.004647"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.168912" elapsed="0.000380"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.146022" elapsed="0.023331"/>
</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-08-18T20:14:14.101071" elapsed="0.068339"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.092973" elapsed="0.076544"/>
</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-08-18T20:14:14.180382" 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-08-18T20:14:14.180512" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.180235" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.181115" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838680&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.180692" elapsed="0.000451"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.181567" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.181293" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.182026" 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-08-18T20:14:14.181755" elapsed="0.000297"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.182468" 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-08-18T20:14:14.182201" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.183545" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.182640" elapsed="0.000936"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.184075" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.183732" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.184604" 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-08-18T20:14:14.184285" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.185134" 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-08-18T20:14:14.184811" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.185632" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.185323" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.186157" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.185842" elapsed="0.000396"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.186706" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838680&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.186388" 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-08-18T20:14:14.179888" elapsed="0.006932"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.187348" 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-08-18T20:14:14.186967" elapsed="0.000412"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.187780" level="INFO">&lt;?xml version="1.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-08-18T20:14:14.187525" 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-08-18T20:14:14.195440" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.195145" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.199699" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.199837" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.199934" 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-08-18T20:14:14.195595" elapsed="0.004365"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.200381" 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-08-18T20:14:14.200117" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.202499" 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-08-18T20:14:14.200564" elapsed="0.001985"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.204404" elapsed="0.000054"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.202619" elapsed="0.001886"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.202600" 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-08-18T20:14:14.204737" 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-08-18T20:14:14.205071" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.204887" elapsed="0.000256"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.204864" elapsed="0.000311"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.205220" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:14:14.207506" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.207569" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.194831" elapsed="0.012770"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.210704" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.208462" elapsed="0.002326"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.208436" elapsed="0.002385"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.211573" 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-08-18T20:14:14.211023" elapsed="0.000587"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.212374" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.211855" elapsed="0.000556"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.212483" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:14.212732" 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-08-18T20:14:14.207917" 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-08-18T20:14:14.213008" 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-08-18T20:14:14.194266" elapsed="0.019376"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.223984" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.223669" elapsed="0.000342"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.228307" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.228423" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.228527" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.224139" elapsed="0.004414"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.228981" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.228710" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.231106" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.229163" elapsed="0.001993"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.232958" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.231224" elapsed="0.001783"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.231205" elapsed="0.001824"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.235797" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.235844" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.233163" 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-08-18T20:14:14.238106" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.235941" elapsed="0.002242"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.235923" elapsed="0.002292"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.238263" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:14.238530" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.238590" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.223295" elapsed="0.015326"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.241565" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.239388" elapsed="0.002239"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.239364" elapsed="0.002293"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.242428" 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-08-18T20:14:14.241875" elapsed="0.000592"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.243283" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.242760" elapsed="0.000568"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.243399" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:14:14.243649" 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-08-18T20:14:14.238933" elapsed="0.004750"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.243921" elapsed="0.000611"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.222671" elapsed="0.021926"/>
</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-08-18T20:14:14.176684" elapsed="0.067969"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.169771" elapsed="0.075009"/>
</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-08-18T20:14:14.255645" 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-08-18T20:14:14.255790" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.255509" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.256360" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3fba0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.255969" elapsed="0.000418"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.256825" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.256534" elapsed="0.000318"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.257266" 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-08-18T20:14:14.256999" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.257702" 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-08-18T20:14:14.257437" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.258413" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.257888" elapsed="0.000556"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.258930" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.258594" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.259432" 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-08-18T20:14:14.259119" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.259952" 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-08-18T20:14:14.259619" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.260472" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.260154" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.260991" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.260661" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.261490" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3fba0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.261180" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:14.255183" elapsed="0.006402"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.262122" 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-08-18T20:14:14.261730" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.262571" level="INFO">&lt;?xml version="1.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-08-18T20:14:14.262331" 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-08-18T20:14:14.270134" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.269841" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.274397" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.274519" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.274669" 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-08-18T20:14:14.270286" elapsed="0.004418"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.275298" 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-08-18T20:14:14.274953" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.278487" 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-08-18T20:14:14.275555" elapsed="0.003002"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.281067" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.278654" elapsed="0.002503"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.278627" elapsed="0.002563"/>
</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-08-18T20:14:14.281379" 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-08-18T20:14:14.281684" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.281503" elapsed="0.000271"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.281481" elapsed="0.000326"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.281852" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:14:14.284067" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.284159" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.269519" elapsed="0.014673"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.286368" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.284816" elapsed="0.001596"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.284798" elapsed="0.001636"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.286988" 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-08-18T20:14:14.286580" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.287514" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.287171" elapsed="0.000369"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.287590" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:14.287781" 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-08-18T20:14:14.284477" elapsed="0.003330"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.287960" 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-08-18T20:14:14.268977" elapsed="0.019472"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.296081" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.295771" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.300663" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.300795" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.300892" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.296237" elapsed="0.004680"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.301318" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.301073" elapsed="0.000289"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.303433" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.301502" elapsed="0.001982"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.305286" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.303557" elapsed="0.001777"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.303535" elapsed="0.001821"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.307841" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.307886" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.305490" elapsed="0.002418"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.310181" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.307984" elapsed="0.002275"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.307965" elapsed="0.002326"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.310337" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:14.310600" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.310660" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.295388" elapsed="0.015302"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.313896" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.311451" elapsed="0.002508"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.311427" elapsed="0.002564"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.314764" 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-08-18T20:14:14.314193" elapsed="0.000610"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.315513" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.315024" elapsed="0.000525"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.315618" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.315887" 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-08-18T20:14:14.311002" elapsed="0.004921"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.316162" elapsed="0.000531"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.294791" elapsed="0.022011"/>
</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-08-18T20:14:14.251716" elapsed="0.065165"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.245028" elapsed="0.072050"/>
</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-08-18T20:14:14.328756" 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-08-18T20:14:14.328885" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.328608" elapsed="0.000306"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.329464" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abeed0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.329061" elapsed="0.000430"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.329927" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.329639" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.330367" 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-08-18T20:14:14.330102" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.330821" 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-08-18T20:14:14.330540" elapsed="0.000307"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.331703" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.330994" elapsed="0.000740"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.332264" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.331916" elapsed="0.000391"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.332785" 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-08-18T20:14:14.332456" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.333292" 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-08-18T20:14:14.332974" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.333814" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.333488" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.334328" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.334005" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.334845" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985abeed0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.334518" 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-08-18T20:14:14.328285" elapsed="0.006658"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.335465" 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-08-18T20:14:14.335090" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.335896" level="INFO">&lt;?xml version="1.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-08-18T20:14:14.335641" 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-08-18T20:14:14.343716" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.343422" elapsed="0.000334"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.347940" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.348073" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.348178" 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-08-18T20:14:14.343886" elapsed="0.004318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.348607" 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-08-18T20:14:14.348360" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.350734" 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-08-18T20:14:14.348807" elapsed="0.001994"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.352598" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.350871" elapsed="0.001792"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.350852" elapsed="0.001835"/>
</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-08-18T20:14:14.352839" 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-08-18T20:14:14.353059" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.352929" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.352913" elapsed="0.000219"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.353163" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:14:14.354751" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.354889" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.343114" elapsed="0.011799"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.357466" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.355443" elapsed="0.002087"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.355425" elapsed="0.002135"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.358329" 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-08-18T20:14:14.357778" elapsed="0.000588"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.359095" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.358589" elapsed="0.000542"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.359200" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.359445" 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-08-18T20:14:14.355119" elapsed="0.004360"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.359693" elapsed="0.000685"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.342555" elapsed="0.017925"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.370540" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.370249" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.374548" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.374695" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.374815" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.370693" elapsed="0.004149"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.375248" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.374999" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.377579" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.375433" elapsed="0.002197"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.379472" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.377700" elapsed="0.001821"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.377682" elapsed="0.001863"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.383202" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.383267" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.379681" elapsed="0.003619"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.385840" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.383407" elapsed="0.002514"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.383382" elapsed="0.002572"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.386002" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:14.386269" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.386330" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.369879" elapsed="0.016482"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.389411" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.387130" elapsed="0.002345"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.387106" elapsed="0.002401"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.390279" 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-08-18T20:14:14.389707" elapsed="0.000611"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.391050" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.390542" elapsed="0.000545"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.391157" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:14.391405" 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-08-18T20:14:14.386652" elapsed="0.004789"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.391657" elapsed="0.000593"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.369262" elapsed="0.023080"/>
</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-08-18T20:14:14.325082" elapsed="0.067340"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.317397" elapsed="0.075161"/>
</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-08-18T20:14:14.403518" 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-08-18T20:14:14.403644" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.403383" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.404267" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538acf0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.403842" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.404781" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.404446" elapsed="0.000364"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.405234" 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-08-18T20:14:14.404963" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.405678" 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-08-18T20:14:14.405410" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.406657" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:14.405868" elapsed="0.000821"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.407189" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.406862" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.407702" 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-08-18T20:14:14.407383" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.408247" 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-08-18T20:14:14.407912" elapsed="0.000376"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.408763" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.408438" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.409274" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:14.408960" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.409798" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538acf0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.409468" elapsed="0.000373"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:14.403059" elapsed="0.006837"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.410422" 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-08-18T20:14:14.410044" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.410857" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.410602" 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-08-18T20:14:14.418679" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.418385" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.422659" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.422793" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.422891" 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-08-18T20:14:14.418848" elapsed="0.004100"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.423361" 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-08-18T20:14:14.423110" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.425562" 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-08-18T20:14:14.423547" 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-08-18T20:14:14.427458" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.425683" elapsed="0.001842"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.425664" 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-08-18T20:14:14.427687" 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-08-18T20:14:14.427960" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.427794" elapsed="0.000221"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.427777" elapsed="0.000261"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.428071" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:14.429715" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.429773" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.418074" elapsed="0.011723"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.431946" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.430332" elapsed="0.001659"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.430314" elapsed="0.001700"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.432554" 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-08-18T20:14:14.432156" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.433103" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.432739" elapsed="0.000390"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.433179" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:14.433356" 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-08-18T20:14:14.430004" elapsed="0.003377"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.433537" 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-08-18T20:14:14.417514" elapsed="0.016484"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.441837" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.441526" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.445974" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.446086" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.446181" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.441991" elapsed="0.004215"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.446610" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.446361" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.448955" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.446808" elapsed="0.002237"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.450852" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.449116" elapsed="0.001785"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.449097" elapsed="0.001826"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.454038" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.454101" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.451060" elapsed="0.003072"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.456672" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.454237" elapsed="0.002537"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.454211" elapsed="0.002598"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.456858" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:14.457129" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.457189" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.441155" elapsed="0.016065"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.460194" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.457992" elapsed="0.002264"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.457966" elapsed="0.002320"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.461058" 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-08-18T20:14:14.460483" elapsed="0.000614"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.461829" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.461316" elapsed="0.000550"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.461934" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.462182" 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-08-18T20:14:14.457511" elapsed="0.004705"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.462427" elapsed="0.000560"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.440538" elapsed="0.022537"/>
</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-08-18T20:14:14.399762" elapsed="0.063390"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.392811" elapsed="0.070489"/>
</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-08-18T20:14:14.476845" 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-08-18T20:14:14.476973" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.476693" elapsed="0.000308"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.477528" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911fd0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.477147" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.477992" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.477702" elapsed="0.000317"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.478430" 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-08-18T20:14:14.478166" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.478887" 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-08-18T20:14:14.478607" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.479824" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:14.479058" elapsed="0.000810"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.480349" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.480022" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.480913" 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-08-18T20:14:14.480577" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.481426" 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-08-18T20:14:14.481103" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.481948" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.481621" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.482458" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:14.482142" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.482982" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911fd0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.482649" 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-08-18T20:14:14.476371" elapsed="0.006707"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.483599" 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-08-18T20:14:14.483223" elapsed="0.000407"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.484056" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.483790" 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-08-18T20:14:14.491660" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.491369" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.495919" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.496033" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.496128" 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-08-18T20:14:14.491846" elapsed="0.004307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.496558" 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-08-18T20:14:14.496310" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.498687" 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-08-18T20:14:14.496741" elapsed="0.001997"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.500540" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.498822" elapsed="0.001785"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.498803" elapsed="0.001827"/>
</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-08-18T20:14:14.500782" 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-08-18T20:14:14.501005" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.500873" elapsed="0.000215"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.500857" elapsed="0.000255"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.501145" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:14:14.502740" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.502804" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.491062" elapsed="0.011764"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.505159" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.503359" elapsed="0.001864"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.503341" elapsed="0.001913"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.506026" 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-08-18T20:14:14.505454" elapsed="0.000609"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.506787" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.506283" elapsed="0.000542"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.506895" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.507147" 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-08-18T20:14:14.503034" elapsed="0.004147"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.507395" 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-08-18T20:14:14.490501" elapsed="0.017549"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.518247" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.517953" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.523178" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.523292" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.523386" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.518400" elapsed="0.005010"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.523849" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.523565" elapsed="0.000330"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.526163" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.524036" elapsed="0.002177"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.528047" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.526281" elapsed="0.001815"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.526263" elapsed="0.001855"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.531667" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.531730" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.528255" elapsed="0.003550"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.534300" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.531913" elapsed="0.002467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.531887" elapsed="0.002525"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.534460" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:14.534733" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.534816" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.517568" elapsed="0.017280"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.537884" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.535651" elapsed="0.002297"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.535626" elapsed="0.002353"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.538735" 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-08-18T20:14:14.538180" elapsed="0.000615"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.539510" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.539020" elapsed="0.000526"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.539616" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.539916" 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-08-18T20:14:14.535193" elapsed="0.004759"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.540169" elapsed="0.000469"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.516966" elapsed="0.023734"/>
</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-08-18T20:14:14.473171" elapsed="0.067606"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.463907" elapsed="0.076980"/>
</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-08-18T20:14:14.551532" 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-08-18T20:14:14.551660" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:14.551399" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.552275" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a1cb80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.551882" elapsed="0.000421"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.552722" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.552449" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.553182" 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-08-18T20:14:14.552915" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.553619" 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-08-18T20:14:14.553354" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.554581" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.553803" elapsed="0.000809"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.555111" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.554781" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.555620" 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-08-18T20:14:14.555303" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.556156" 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-08-18T20:14:14.555832" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.556654" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:14.556344" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.557177" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.556861" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.557683" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a1cb80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.557369" elapsed="0.000405"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:14.551077" elapsed="0.006755"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.558359" 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-08-18T20:14:14.557979" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.558788" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.558535" 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-08-18T20:14:14.566412" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.566120" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.570480" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.570593" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.570689" 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-08-18T20:14:14.566563" elapsed="0.004151"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.571140" 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-08-18T20:14:14.570891" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.573291" 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-08-18T20:14:14.571323" elapsed="0.002018"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.575136" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.573410" elapsed="0.001792"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.573391" elapsed="0.001835"/>
</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-08-18T20:14:14.575363" 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-08-18T20:14:14.575582" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.575452" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.575436" elapsed="0.000220"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.575687" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:14.577682" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.577763" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.565811" elapsed="0.011986"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.580729" elapsed="0.000038"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.578540" elapsed="0.002272"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.578514" elapsed="0.002328"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.581588" 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-08-18T20:14:14.581043" elapsed="0.000582"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.582412" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.581919" elapsed="0.000530"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.582524" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.582796" 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-08-18T20:14:14.578084" elapsed="0.004749"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.583048" elapsed="0.000532"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.565248" elapsed="0.018420"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.592973" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.592663" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.598328" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.598444" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.598575" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.593125" elapsed="0.005493"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.599226" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.598878" elapsed="0.000411"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.602501" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.599480" elapsed="0.003092"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.605109" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.602666" elapsed="0.002513"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.602640" elapsed="0.002569"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.608834" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.608879" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.605394" elapsed="0.003508"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.610646" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.608977" elapsed="0.001724"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.608959" elapsed="0.001765"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.610773" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:14.610966" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.611010" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.592291" elapsed="0.018741"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.613156" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.611576" elapsed="0.001625"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.611558" elapsed="0.001665"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.613780" 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-08-18T20:14:14.613365" elapsed="0.000442"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.614315" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.613966" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.614389" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:14.614571" 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-08-18T20:14:14.611242" elapsed="0.003355"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.614806" 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-08-18T20:14:14.591663" elapsed="0.023594"/>
</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-08-18T20:14:14.547882" elapsed="0.067556"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.541120" elapsed="0.074426"/>
</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-08-18T20:14:14.626266" 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-08-18T20:14:14.626393" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.626131" elapsed="0.000291"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.626981" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a12ac0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.626569" elapsed="0.000440"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.627430" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.627157" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.627900" 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-08-18T20:14:14.627605" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.628340" 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-08-18T20:14:14.628075" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.630589" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:14.628511" elapsed="0.002109"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.631119" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.630790" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.631631" 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-08-18T20:14:14.631309" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.632198" 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-08-18T20:14:14.631874" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.632691" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.632385" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.633213" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:14.632898" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.633721" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a12ac0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.633404" 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-08-18T20:14:14.625810" elapsed="0.008029"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.634360" 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-08-18T20:14:14.633985" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.634786" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.634534" 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-08-18T20:14:14.642473" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.642179" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.646648" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.646783" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.646890" 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-08-18T20:14:14.642625" elapsed="0.004290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.647319" 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-08-18T20:14:14.647072" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.649475" 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-08-18T20:14:14.647503" 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-08-18T20:14:14.651327" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.649601" elapsed="0.001793"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.649582" elapsed="0.001835"/>
</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-08-18T20:14:14.651554" 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-08-18T20:14:14.651834" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.651671" elapsed="0.000217"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.651653" elapsed="0.000258"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.651943" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:14.653583" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.653628" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.641869" elapsed="0.011781"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.655810" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.654200" elapsed="0.001655"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.654182" elapsed="0.001695"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.656412" 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-08-18T20:14:14.656020" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.657192" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.656678" elapsed="0.000550"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.657299" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.657547" 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-08-18T20:14:14.653873" elapsed="0.003709"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.657818" elapsed="0.000540"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.641307" elapsed="0.017140"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.669125" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.668833" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.673248" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.673395" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.673492" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.669276" elapsed="0.004241"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.673948" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.673674" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.676296" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.674135" elapsed="0.002212"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.678169" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.676416" elapsed="0.001803"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.676398" elapsed="0.001843"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.681121" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.681185" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.678376" elapsed="0.002842"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.683715" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.681326" elapsed="0.002488"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.681300" elapsed="0.002547"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.683895" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:14.684161" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.684221" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.668321" elapsed="0.015930"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.687224" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.685020" elapsed="0.002267"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.684996" elapsed="0.002322"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.688110" 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-08-18T20:14:14.687518" elapsed="0.000630"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.688880" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.688370" elapsed="0.000546"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.688986" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.689234" 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-08-18T20:14:14.684544" elapsed="0.004725"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.689483" elapsed="0.000567"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.667417" elapsed="0.022724"/>
</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-08-18T20:14:14.622596" elapsed="0.067623"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.615830" elapsed="0.074541"/>
</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-08-18T20:14:14.701885" 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-08-18T20:14:14.702012" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:14.701736" elapsed="0.000305"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.702571" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cee570&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.702190" elapsed="0.000409"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.703080" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.702762" elapsed="0.000345"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.703529" 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-08-18T20:14:14.703260" elapsed="0.000295"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.704022" 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-08-18T20:14:14.703734" elapsed="0.000314"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.704980" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.704196" elapsed="0.000814"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.705487" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.705164" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.706015" 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-08-18T20:14:14.705678" elapsed="0.000379"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.706537" 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-08-18T20:14:14.706207" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.707052" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:14.706727" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.707566" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.707243" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.708088" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a987cee570&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.707773" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:14.701410" elapsed="0.006773"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.708704" 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-08-18T20:14:14.708329" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.709133" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:14.708895" 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-08-18T20:14:14.716778" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.716471" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.721002" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.721115" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.721210" 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-08-18T20:14:14.716933" elapsed="0.004302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.721674" 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-08-18T20:14:14.721425" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.723838" 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-08-18T20:14:14.721875" elapsed="0.002015"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.725674" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.723960" elapsed="0.001780"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.723940" elapsed="0.001839"/>
</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-08-18T20:14:14.725917" 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-08-18T20:14:14.726138" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.726007" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.725991" elapsed="0.000220"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.726243" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:14.727887" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.727933" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.716164" elapsed="0.011792"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.730711" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.728503" elapsed="0.002289"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.728481" elapsed="0.002342"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.731591" 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-08-18T20:14:14.731021" elapsed="0.000609"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.732356" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.731871" elapsed="0.000523"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.732463" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.732711" 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-08-18T20:14:14.728163" elapsed="0.004608"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.732987" elapsed="0.000530"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.715605" elapsed="0.018000"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.743327" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.743035" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.747462" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.747597" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.747693" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.743480" elapsed="0.004239"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.748169" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.747920" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.750466" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.748351" elapsed="0.002206"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.752378" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.750627" elapsed="0.001800"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.750608" elapsed="0.001841"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.755008" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.755053" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.752584" elapsed="0.002492"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.756841" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.755152" elapsed="0.001744"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.755134" elapsed="0.001786"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.756954" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:14.757146" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.757189" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.742647" elapsed="0.014564"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.759303" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.757756" elapsed="0.001592"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.757724" elapsed="0.001645"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.759954" 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-08-18T20:14:14.759531" elapsed="0.000451"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.760488" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.760141" elapsed="0.000373"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.760562" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:14.760739" 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-08-18T20:14:14.757418" elapsed="0.003362"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.760933" elapsed="0.000379"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.742045" elapsed="0.019330"/>
</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-08-18T20:14:14.698166" elapsed="0.063264"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.690704" elapsed="0.070832"/>
</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-08-18T20:14:14.772199" 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-08-18T20:14:14.772426" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.772065" elapsed="0.000391"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.773034" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538ade0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.772609" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.773481" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.773208" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.773939" 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-08-18T20:14:14.773655" elapsed="0.000309"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.774380" 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-08-18T20:14:14.774113" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.775431" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.774552" elapsed="0.000910"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.776004" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.775658" elapsed="0.000389"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.776559" 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-08-18T20:14:14.776237" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.777090" 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-08-18T20:14:14.776764" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.777586" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.777280" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.778107" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.777794" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.778610" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538ade0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.778298" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:14.771730" elapsed="0.006974"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.779242" 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-08-18T20:14:14.778867" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.779674" level="INFO">&lt;?xml version="1.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-08-18T20:14:14.779419" 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-08-18T20:14:14.787217" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.786926" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.791306" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.791419" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.791549" 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-08-18T20:14:14.787369" elapsed="0.004207"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.792002" 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-08-18T20:14:14.791732" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.794121" 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-08-18T20:14:14.792189" elapsed="0.001981"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.795984" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.794239" elapsed="0.001840"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.794221" elapsed="0.001886"/>
</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-08-18T20:14:14.796245" 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-08-18T20:14:14.796474" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.796335" elapsed="0.000205"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.796319" elapsed="0.000260"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.796634" elapsed="0.000024"/>
</return>
<msg time="2026-08-18T20:14:14.798909" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.798971" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.786603" elapsed="0.012400"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.801958" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.799790" elapsed="0.002231"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.799763" elapsed="0.002289"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.802826" 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-08-18T20:14:14.802250" elapsed="0.000615"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.803584" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.803088" elapsed="0.000532"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.803689" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:14.803960" 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-08-18T20:14:14.799290" elapsed="0.004704"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.804206" elapsed="0.000528"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.786065" elapsed="0.018783"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.813594" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.813293" elapsed="0.000327"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.817466" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.817577" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.817672" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.813762" elapsed="0.003935"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.818125" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.817876" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.820446" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.818311" elapsed="0.002186"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.822285" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.820567" elapsed="0.001767"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.820548" elapsed="0.001808"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.825132" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.825177" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.822490" elapsed="0.002710"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.826953" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.825276" elapsed="0.001733"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.825258" elapsed="0.001774"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.827100" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:14.827294" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.827337" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.812924" elapsed="0.014435"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.829510" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.827940" elapsed="0.001614"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.827923" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.830128" 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-08-18T20:14:14.829719" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.830660" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.830313" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.830736" elapsed="0.000044"/>
</return>
<msg time="2026-08-18T20:14:14.830930" 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-08-18T20:14:14.827599" elapsed="0.003356"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.831108" 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-08-18T20:14:14.812308" elapsed="0.019257"/>
</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-08-18T20:14:14.768539" elapsed="0.063082"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.761787" elapsed="0.069940"/>
</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-08-18T20:14:14.842328" 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-08-18T20:14:14.842456" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.842196" elapsed="0.000288"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.843055" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911760&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.842631" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.843530" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.843230" elapsed="0.000328"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.843992" 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-08-18T20:14:14.843705" elapsed="0.000313"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.844430" 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-08-18T20:14:14.844165" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.845507" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.844599" elapsed="0.000939"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.846034" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.845692" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.846545" 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-08-18T20:14:14.846228" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.847107" 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-08-18T20:14:14.846734" elapsed="0.000413"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.847617" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.847296" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.848141" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.847827" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.848691" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985911760&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.848374" elapsed="0.000358"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:14.841874" elapsed="0.006930"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.849326" 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-08-18T20:14:14.848951" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.849738" level="INFO">&lt;?xml version="1.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-08-18T20:14:14.849502" 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-08-18T20:14:14.857351" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.857059" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.861988" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.862102" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.862197" 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-08-18T20:14:14.857509" elapsed="0.004713"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.862627" 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-08-18T20:14:14.862378" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.865486" 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-08-18T20:14:14.862829" elapsed="0.002728"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.868066" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.865652" elapsed="0.002505"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.865626" elapsed="0.002564"/>
</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-08-18T20:14:14.868380" 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-08-18T20:14:14.868690" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.868509" elapsed="0.000272"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.868486" elapsed="0.000328"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.868859" elapsed="0.000020"/>
</return>
<msg time="2026-08-18T20:14:14.871073" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.871135" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.856735" elapsed="0.014431"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.873792" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.872021" elapsed="0.001816"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.871996" elapsed="0.001863"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.874392" 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-08-18T20:14:14.874002" elapsed="0.000416"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.874935" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.874575" elapsed="0.000386"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.875010" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:14.875188" 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-08-18T20:14:14.871541" 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-08-18T20:14:14.875388" 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-08-18T20:14:14.856195" elapsed="0.019653"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.883566" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.883241" elapsed="0.000352"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.887835" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.887949" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.888055" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.883718" elapsed="0.004363"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.888487" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.888239" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.890614" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.888671" elapsed="0.001994"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.892525" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.890734" elapsed="0.001845"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.890716" elapsed="0.001885"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.895374" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.895421" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.892736" 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-08-18T20:14:14.897523" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.895520" elapsed="0.002080"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.895501" elapsed="0.002133"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.897681" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:14.897977" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.898038" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.882875" elapsed="0.015194"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.901090" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.898840" elapsed="0.002313"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.898816" elapsed="0.002367"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.901960" 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-08-18T20:14:14.901384" elapsed="0.000614"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.902790" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.902268" elapsed="0.000560"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.902898" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:14.903149" 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-08-18T20:14:14.898363" elapsed="0.004822"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.903427" elapsed="0.000566"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.882261" elapsed="0.021821"/>
</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-08-18T20:14:14.838656" elapsed="0.065505"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.831979" elapsed="0.072332"/>
</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-08-18T20:14:14.916231" 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-08-18T20:14:14.916357" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.916097" elapsed="0.000288"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.916955" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839cb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.916531" elapsed="0.000452"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.917403" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.917130" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.917857" 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-08-18T20:14:14.917575" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.918293" 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-08-18T20:14:14.918029" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.919404" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.918463" elapsed="0.000973"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.919932" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.919591" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.920437" 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-08-18T20:14:14.920123" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.920963" 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-08-18T20:14:14.920625" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.921457" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.921150" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.921978" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.921649" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.922482" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839cb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.922169" elapsed="0.000355"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:14.915775" elapsed="0.006802"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.923113" 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-08-18T20:14:14.922722" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.923590" level="INFO">&lt;?xml version="1.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-08-18T20:14:14.923348" 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-08-18T20:14:14.931147" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.930855" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.935191" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.935318" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:14.935425" 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-08-18T20:14:14.931323" elapsed="0.004127"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.935882" 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-08-18T20:14:14.935607" elapsed="0.000320"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.937987" 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-08-18T20:14:14.936067" elapsed="0.001970"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:14.939847" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:14:14.938105" elapsed="0.001808"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.938087" 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-08-18T20:14:14.940074" 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-08-18T20:14:14.940295" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.940164" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:14.940148" elapsed="0.000220"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.940399" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:14.941999" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:14.942044" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:14.930527" elapsed="0.011539"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.944627" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.942594" elapsed="0.002097"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.942576" elapsed="0.002146"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.945492" 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-08-18T20:14:14.944942" elapsed="0.000587"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.946251" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.945766" elapsed="0.000520"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.946399" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:14:14.946650" 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-08-18T20:14:14.942272" elapsed="0.004412"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.946918" elapsed="0.000548"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.929987" elapsed="0.017565"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.957495" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:14.957204" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:14.961239" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:14.961350" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:14.961455" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:14.957648" elapsed="0.003834"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.961909" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:14.961639" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.964041" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:14.962092" elapsed="0.001999"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.965877" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.964159" elapsed="0.001767"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.964140" elapsed="0.001807"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.968681" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:14.968727" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:14.966081" elapsed="0.002683"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:14.970502" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:14.968842" elapsed="0.001715"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.968824" elapsed="0.001756"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:14.970614" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:14.970820" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:14.970863" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:14.956837" elapsed="0.014048"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:14.972992" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:14.971439" elapsed="0.001598"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:14.971422" elapsed="0.001637"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.973590" 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-08-18T20:14:14.973199" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.974133" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:14.973788" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:14.974208" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:14.974382" 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-08-18T20:14:14.971094" elapsed="0.003312"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:14.974558" 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-08-18T20:14:14.956224" elapsed="0.018828"/>
</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-08-18T20:14:14.912581" elapsed="0.062526"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.904634" elapsed="0.070579"/>
</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-08-18T20:14:14.986143" 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-08-18T20:14:14.986271" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.986009" elapsed="0.000291"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:14.986867" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570df80&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:14.986447" elapsed="0.000448"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.987338" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:14.987042" elapsed="0.000323"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.987802" 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-08-18T20:14:14.987516" elapsed="0.000312"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:14.988241" 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-08-18T20:14:14.987975" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:14.989117" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.988411" elapsed="0.000736"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.989619" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.989298" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.990142" 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-08-18T20:14:14.989824" elapsed="0.000359"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.990650" 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-08-18T20:14:14.990330" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.991161" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:14.990853" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.991689" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:14.991375" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.992207" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570df80&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:14.991895" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:14.985671" elapsed="0.006629"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.992834" 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-08-18T20:14:14.992442" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:14.993245" level="INFO">&lt;?xml version="1.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-08-18T20:14:14.993008" 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-08-18T20:14:15.000852" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.000543" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.006058" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.006173" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.006279" 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-08-18T20:14:15.001006" elapsed="0.005298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.006709" 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-08-18T20:14:15.006462" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.008846" 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-08-18T20:14:15.006912" elapsed="0.001984"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.010667" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.008965" elapsed="0.001767"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.008946" elapsed="0.001824"/>
</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-08-18T20:14:15.010909" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.011128" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.010998" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.010982" elapsed="0.000242"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.011258" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:15.013345" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.013406" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.000232" elapsed="0.013205"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.016362" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.014195" elapsed="0.002229"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.014170" elapsed="0.002284"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.017219" 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-08-18T20:14:15.016650" elapsed="0.000605"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.017974" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.017473" elapsed="0.000537"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.018078" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.018322" 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-08-18T20:14:15.013723" elapsed="0.004634"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.018572" elapsed="0.000548"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:14.999679" elapsed="0.019555"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.028184" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.027895" elapsed="0.000316"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.032189" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.032339" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.032436" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.028334" elapsed="0.004127"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.032889" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.032621" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.035000" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.033072" elapsed="0.001978"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.037476" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.035118" elapsed="0.002426"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.035100" elapsed="0.002475"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.041507" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.041569" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.037780" elapsed="0.003821"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.046121" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.041706" elapsed="0.004493"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.041681" elapsed="0.004550"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.046277" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:15.046542" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.046602" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.027512" elapsed="0.019120"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.049153" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.047442" elapsed="0.001756"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.047417" elapsed="0.001803"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.049769" 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-08-18T20:14:15.049362" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.050299" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.049954" elapsed="0.000370"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.050374" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:15.050554" 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-08-18T20:14:15.046942" elapsed="0.003638"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.050731" 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-08-18T20:14:15.026902" elapsed="0.024297"/>
</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-08-18T20:14:14.982388" elapsed="0.068866"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:14.975460" elapsed="0.075901"/>
</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-08-18T20:14:15.061963" 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-08-18T20:14:15.062091" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.061830" elapsed="0.000289"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.062666" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f20c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.062264" elapsed="0.000429"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.063178" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.062889" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.063661" 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-08-18T20:14:15.063383" elapsed="0.000303"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.064115" 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-08-18T20:14:15.063849" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.064991" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.064286" elapsed="0.000735"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.065495" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.065172" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.066018" 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-08-18T20:14:15.065685" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.066524" 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-08-18T20:14:15.066204" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.067031" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.066711" elapsed="0.000364"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.067542" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.067231" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.068060" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f20c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.067732" 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-08-18T20:14:15.061496" elapsed="0.006660"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.068670" 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-08-18T20:14:15.068298" elapsed="0.000402"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.069097" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.068861" 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-08-18T20:14:15.076869" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.076556" elapsed="0.000340"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.080872" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.080990" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.081120" 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-08-18T20:14:15.077021" elapsed="0.004125"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.081575" 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-08-18T20:14:15.081302" elapsed="0.000349"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.084603" 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-08-18T20:14:15.081880" elapsed="0.002793"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.087196" elapsed="0.000040"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.084791" elapsed="0.002498"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.084763" elapsed="0.002559"/>
</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-08-18T20:14:15.087512" 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-08-18T20:14:15.087840" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.087638" elapsed="0.000275"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.087615" elapsed="0.000329"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.087989" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:14:15.090287" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.090349" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.076229" elapsed="0.014150"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.092918" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.091226" elapsed="0.001737"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.091190" elapsed="0.001794"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.093520" 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-08-18T20:14:15.093127" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.094064" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.093702" elapsed="0.000387"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.094138" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:15.094313" 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-08-18T20:14:15.090667" elapsed="0.003671"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.094489" 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-08-18T20:14:15.075672" elapsed="0.019286"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.102598" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.102306" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.106568" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.106681" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.106794" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.102765" elapsed="0.004056"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.107246" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.106977" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.109523" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.107430" 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-08-18T20:14:15.111422" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.109682" elapsed="0.001789"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.109663" elapsed="0.001830"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.114248" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.114293" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.111627" elapsed="0.002688"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.116368" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.114391" elapsed="0.002054"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.114373" elapsed="0.002105"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.116525" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:15.116815" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.116877" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.101936" elapsed="0.014972"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.119879" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.117654" elapsed="0.002288"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.117629" elapsed="0.002343"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.120720" 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-08-18T20:14:15.120171" elapsed="0.000608"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.121493" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.121002" elapsed="0.000527"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.121598" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:15.121870" 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-08-18T20:14:15.117197" elapsed="0.004709"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.122120" elapsed="0.000536"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.101276" elapsed="0.021487"/>
</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-08-18T20:14:15.058321" elapsed="0.064525"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.051614" elapsed="0.071381"/>
</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-08-18T20:14:15.134981" 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-08-18T20:14:15.135119" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.134847" elapsed="0.000301"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.135702" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1e90&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.135295" elapsed="0.000435"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.136165" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.135894" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.136604" 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-08-18T20:14:15.136339" elapsed="0.000290"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.137056" 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-08-18T20:14:15.136790" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.138117" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.137227" elapsed="0.000921"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.138628" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.138302" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.139229" 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-08-18T20:14:15.138872" elapsed="0.000401"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.139767" 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-08-18T20:14:15.139425" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.140269" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.139960" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.140799" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.140462" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.141305" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f1e90&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.140992" elapsed="0.000354"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:15.134507" elapsed="0.006893"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.141938" 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-08-18T20:14:15.141545" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.142353" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.142115" 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-08-18T20:14:15.149958" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.149647" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.154316" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.154430" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.154525" 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-08-18T20:14:15.150112" elapsed="0.004438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.154972" 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-08-18T20:14:15.154705" elapsed="0.000311"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.157115" 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-08-18T20:14:15.155182" elapsed="0.001983"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.158947" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.157233" elapsed="0.001829"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.157214" elapsed="0.001876"/>
</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-08-18T20:14:15.159230" 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-08-18T20:14:15.159451" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.159321" elapsed="0.000180"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.159305" elapsed="0.000219"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.159556" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:15.161159" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.161204" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.149340" elapsed="0.011886"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.163348" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.161774" elapsed="0.001620"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.161741" elapsed="0.001675"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.164151" 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-08-18T20:14:15.163560" elapsed="0.000630"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.164916" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.164411" elapsed="0.000541"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.165021" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:15.165268" 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-08-18T20:14:15.161432" 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-08-18T20:14:15.165516" 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-08-18T20:14:15.148798" elapsed="0.017353"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.176607" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.176316" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.181374" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.181487" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.181593" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.176774" elapsed="0.004844"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.182044" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.181795" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.184193" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.182228" elapsed="0.002015"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.186028" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.184311" elapsed="0.001766"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.184293" elapsed="0.001806"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.189419" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.189484" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.186233" elapsed="0.003282"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.191970" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.189620" elapsed="0.002427"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.189595" elapsed="0.002484"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.192184" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:15.192457" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.192517" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.175949" elapsed="0.016598"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.195506" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.193313" elapsed="0.002256"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.193289" elapsed="0.002312"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.196374" 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-08-18T20:14:15.195822" elapsed="0.000589"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.197139" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.196631" elapsed="0.000545"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.197246" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:15.197576" 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-08-18T20:14:15.192862" elapsed="0.004750"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.197850" elapsed="0.000531"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.175113" elapsed="0.023355"/>
</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-08-18T20:14:15.131319" elapsed="0.067245"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.123365" elapsed="0.075357"/>
</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-08-18T20:14:15.209353" 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-08-18T20:14:15.209479" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.209220" elapsed="0.000288"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.210086" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985910a40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.209655" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.210533" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.210260" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.211000" 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-08-18T20:14:15.210706" elapsed="0.000321"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.211441" 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-08-18T20:14:15.211175" elapsed="0.000291"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.212538" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.211615" elapsed="0.000954"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.213066" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.212724" elapsed="0.000385"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.213575" 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-08-18T20:14:15.213259" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.214098" 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-08-18T20:14:15.213778" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.214590" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.214285" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.215122" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.214797" elapsed="0.000408"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.215670" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985910a40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.215354" elapsed="0.000358"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:15.208900" elapsed="0.006882"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.216304" 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-08-18T20:14:15.215929" elapsed="0.000404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.216714" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.216478" 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-08-18T20:14:15.224352" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.224061" elapsed="0.000317"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.228847" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.229007" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.229140" 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-08-18T20:14:15.224504" elapsed="0.004672"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.229738" 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-08-18T20:14:15.229391" elapsed="0.000433"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.232732" 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-08-18T20:14:15.230017" elapsed="0.002813"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.235341" elapsed="0.000042"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.232927" elapsed="0.002507"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.232901" elapsed="0.002567"/>
</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-08-18T20:14:15.235662" 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-08-18T20:14:15.235996" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.235811" elapsed="0.000256"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.235786" elapsed="0.000312"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.236143" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:14:15.238383" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.238445" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.223738" elapsed="0.014738"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.241037" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.239330" elapsed="0.001752"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.239305" elapsed="0.001799"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.241641" 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-08-18T20:14:15.241249" elapsed="0.000418"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.242189" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.241842" elapsed="0.000372"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.242264" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:15.242442" 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-08-18T20:14:15.238835" elapsed="0.003631"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.242620" 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-08-18T20:14:15.223197" elapsed="0.019895"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.250943" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.250607" elapsed="0.000369"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.255064" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.255176" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.255281" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.251106" elapsed="0.004200"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.255715" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.255462" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.257867" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.255920" elapsed="0.001997"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.259713" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.257986" elapsed="0.001790"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.257967" elapsed="0.001832"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.262502" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.262549" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.259934" elapsed="0.002638"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.264761" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.262653" elapsed="0.002189"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.262634" elapsed="0.002240"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.264922" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:15.265190" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.265250" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.250238" elapsed="0.015043"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.268264" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.266055" elapsed="0.002271"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.266031" elapsed="0.002326"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.269132" 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-08-18T20:14:15.268557" elapsed="0.000613"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.269961" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.269442" elapsed="0.000556"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.270069" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:15.270317" 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-08-18T20:14:15.265572" elapsed="0.004780"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.270564" 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-08-18T20:14:15.249626" elapsed="0.021614"/>
</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-08-18T20:14:15.205703" elapsed="0.065618"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.198968" elapsed="0.072503"/>
</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-08-18T20:14:15.283574" 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-08-18T20:14:15.283705" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.283439" elapsed="0.000296"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.284317" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e070&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.283900" elapsed="0.000444"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.284784" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.284492" elapsed="0.000320"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.285232" 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-08-18T20:14:15.284962" elapsed="0.000296"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.285671" 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-08-18T20:14:15.285404" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.286596" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.285857" elapsed="0.000769"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.287146" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.286795" elapsed="0.000394"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.287655" 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-08-18T20:14:15.287338" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.288180" 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-08-18T20:14:15.287859" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.288674" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.288368" elapsed="0.000350"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.289192" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.288880" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.289694" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3e070&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.289382" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:15.283111" elapsed="0.006696"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.290327" 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-08-18T20:14:15.289951" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.290859" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.290598" elapsed="0.000345"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.298462" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.298170" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.303530" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.303645" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.303771" 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-08-18T20:14:15.298616" elapsed="0.005185"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.304208" 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-08-18T20:14:15.303961" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.306492" 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-08-18T20:14:15.304393" elapsed="0.002149"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.308356" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.306617" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.306598" elapsed="0.001848"/>
</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-08-18T20:14:15.308583" 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-08-18T20:14:15.308832" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.308673" elapsed="0.000213"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.308657" elapsed="0.000252"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.308941" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:15.310533" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.310577" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.297860" elapsed="0.012739"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.313222" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.311174" elapsed="0.002112"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.311156" elapsed="0.002162"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.314087" 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-08-18T20:14:15.313516" elapsed="0.000608"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.314861" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.314343" elapsed="0.000565"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.315033" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:14:15.315290" 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-08-18T20:14:15.310822" elapsed="0.004504"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.315539" 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-08-18T20:14:15.297298" elapsed="0.018884"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.326013" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.325706" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.330955" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.331070" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.331166" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.326166" elapsed="0.005025"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.331600" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.331347" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.333721" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.331800" elapsed="0.001986"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.335617" elapsed="0.000027"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.333856" elapsed="0.001844"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.333838" elapsed="0.001899"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.339541" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.339605" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.335945" 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-08-18T20:14:15.342329" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.339739" elapsed="0.002668"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.339714" elapsed="0.002726"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.342487" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:14:15.342775" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.342850" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.325331" elapsed="0.017553"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.345822" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.343627" elapsed="0.002258"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.343602" elapsed="0.002313"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.346664" 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-08-18T20:14:15.346114" elapsed="0.000586"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.347501" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.346993" elapsed="0.000554"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.347634" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:15.347851" 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-08-18T20:14:15.343173" elapsed="0.004703"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.348065" 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-08-18T20:14:15.324716" elapsed="0.023800"/>
</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-08-18T20:14:15.279689" elapsed="0.068881"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.271813" elapsed="0.076863"/>
</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-08-18T20:14:15.359273" 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-08-18T20:14:15.359400" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.359139" elapsed="0.000294"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.360013" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a79c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.359582" elapsed="0.000459"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.360462" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.360188" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.360917" 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-08-18T20:14:15.360634" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.361354" 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-08-18T20:14:15.361091" elapsed="0.000289"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.362276" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.361524" elapsed="0.000783"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.362805" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.362459" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.363326" 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-08-18T20:14:15.363009" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.363852" 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-08-18T20:14:15.363514" elapsed="0.000380"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.364350" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.364042" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.364981" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.364542" elapsed="0.000488"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.365494" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a79c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.365179" elapsed="0.000356"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:15.358785" elapsed="0.006805"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.366130" 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-08-18T20:14:15.365735" elapsed="0.000425"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.366547" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.366309" 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-08-18T20:14:15.374412" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.374117" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.378580" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.378694" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.378832" 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-08-18T20:14:15.374565" elapsed="0.004296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.379266" 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-08-18T20:14:15.379017" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.381401" 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-08-18T20:14:15.379448" elapsed="0.002004"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.383273" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.381521" elapsed="0.001818"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.381503" 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-08-18T20:14:15.383512" 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-08-18T20:14:15.383865" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.383645" elapsed="0.000293"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.383618" elapsed="0.000352"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.384015" elapsed="0.000019"/>
</return>
<msg time="2026-08-18T20:14:15.386264" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.386327" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.373806" elapsed="0.012553"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.389338" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.387148" elapsed="0.002252"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.387123" elapsed="0.002308"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.390205" 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-08-18T20:14:15.389635" elapsed="0.000606"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.390974" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.390461" elapsed="0.000549"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.391079" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.391324" 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-08-18T20:14:15.386647" elapsed="0.004712"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.391571" 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-08-18T20:14:15.373237" elapsed="0.018976"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.400916" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.400606" elapsed="0.000337"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.405828" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.405977" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.406075" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.401069" elapsed="0.005031"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.406515" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.406256" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.409828" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.406851" 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-08-18T20:14:15.412432" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.409997" elapsed="0.002505"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.409970" elapsed="0.002563"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.416206" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.416251" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.412723" elapsed="0.003551"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.418017" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.416350" elapsed="0.001723"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.416331" elapsed="0.001765"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.418130" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:15.418320" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.418363" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.400235" elapsed="0.018150"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.420507" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.418950" elapsed="0.001604"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.418932" elapsed="0.001647"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.421132" 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-08-18T20:14:15.420723" elapsed="0.000436"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.421662" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.421317" elapsed="0.000371"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.421736" elapsed="0.000044"/>
</return>
<msg time="2026-08-18T20:14:15.421931" 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-08-18T20:14:15.418592" elapsed="0.003364"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.422108" elapsed="0.000378"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.399619" elapsed="0.022929"/>
</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-08-18T20:14:15.355577" elapsed="0.067026"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.348859" elapsed="0.073849"/>
</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-08-18T20:14:15.433372" 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-08-18T20:14:15.433498" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.433238" elapsed="0.000288"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.434093" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d04a0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.433675" elapsed="0.000446"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.434587" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.434268" elapsed="0.000345"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.435064" 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-08-18T20:14:15.434790" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.435507" 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-08-18T20:14:15.435237" elapsed="0.000295"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.437874" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.435679" elapsed="0.002227"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.438480" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.438108" elapsed="0.000433"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.439150" 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-08-18T20:14:15.438780" elapsed="0.000416"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.439735" 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-08-18T20:14:15.439371" elapsed="0.000436"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.440338" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.439990" elapsed="0.000398"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.440944" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.440563" elapsed="0.000432"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.441531" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d04a0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.441164" 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-08-18T20:14:15.432915" elapsed="0.008723"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.442249" 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-08-18T20:14:15.441827" elapsed="0.000455"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.442785" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.442453" elapsed="0.000402"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.450842" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.450495" elapsed="0.000374"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.455876" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.456000" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.456143" 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-08-18T20:14:15.450997" elapsed="0.005172"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.456575" 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-08-18T20:14:15.456325" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.458761" 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-08-18T20:14:15.456781" elapsed="0.002034"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.460608" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.458889" elapsed="0.001788"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.458867" elapsed="0.001835"/>
</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-08-18T20:14:15.460857" 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-08-18T20:14:15.461080" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.460948" elapsed="0.000182"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.460932" elapsed="0.000221"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.461185" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:15.462876" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.462921" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.450185" elapsed="0.012759"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.465661" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.463488" elapsed="0.002235"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.463463" elapsed="0.002310"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.466521" 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-08-18T20:14:15.465975" elapsed="0.000582"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.467344" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.466854" elapsed="0.000526"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.467449" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.467693" 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-08-18T20:14:15.463155" 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-08-18T20:14:15.467963" elapsed="0.000536"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.449614" elapsed="0.018972"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.479288" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.478879" elapsed="0.000446"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.484044" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.484156" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.484251" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.479501" elapsed="0.004775"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.484687" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.484433" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.487051" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.484891" elapsed="0.002247"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.488974" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.487208" elapsed="0.001816"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.487189" elapsed="0.001856"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.492055" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.492120" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.489180" elapsed="0.002972"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.494602" elapsed="0.000096"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.492259" elapsed="0.002539"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.492233" elapsed="0.002602"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.494887" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:15.495162" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.495222" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.478325" elapsed="0.016929"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.498298" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.496026" elapsed="0.002334"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.496001" elapsed="0.002388"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.499222" 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-08-18T20:14:15.498590" elapsed="0.000671"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.499991" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.499483" elapsed="0.000544"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.500097" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.500343" 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-08-18T20:14:15.495548" elapsed="0.004830"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.500592" elapsed="0.000555"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.477468" elapsed="0.023766"/>
</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-08-18T20:14:15.429723" elapsed="0.071589"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.422982" elapsed="0.078484"/>
</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-08-18T20:14:15.519908" 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-08-18T20:14:15.520108" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.519684" elapsed="0.000467"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.521016" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f060&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.520374" elapsed="0.000685"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.521695" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.521283" elapsed="0.000453"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.522376" 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-08-18T20:14:15.521978" elapsed="0.000436"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.523088" 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-08-18T20:14:15.522652" elapsed="0.000475"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.524720" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.523348" elapsed="0.001452"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.525496" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.525034" elapsed="0.000521"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.526294" 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-08-18T20:14:15.525841" elapsed="0.000513"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.527086" 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-08-18T20:14:15.526569" elapsed="0.000576"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.527803" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.527355" elapsed="0.000495"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.528316" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.527999" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.528844" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a3f060&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.528510" 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-08-18T20:14:15.519194" elapsed="0.009747"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.529470" 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-08-18T20:14:15.529088" elapsed="0.000413"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.529908" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.529649" 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-08-18T20:14:15.537511" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.537214" elapsed="0.000324"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.542558" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.542852" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.543033" 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-08-18T20:14:15.537815" elapsed="0.005265"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.543802" 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-08-18T20:14:15.543369" elapsed="0.000479"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.545939" 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-08-18T20:14:15.543988" elapsed="0.002002"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.547845" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.546092" elapsed="0.001820"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.546071" elapsed="0.001866"/>
</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-08-18T20:14:15.548075" 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-08-18T20:14:15.548296" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.548165" elapsed="0.000182"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.548149" elapsed="0.000220"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.548401" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:15.550017" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.550062" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.536902" elapsed="0.013185"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.552506" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.550649" elapsed="0.001919"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.550631" elapsed="0.001967"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.553367" 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-08-18T20:14:15.552819" elapsed="0.000585"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.554130" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.553625" elapsed="0.000540"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.554234" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.554478" 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-08-18T20:14:15.550297" elapsed="0.004215"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.554739" 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-08-18T20:14:15.536338" elapsed="0.019038"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.565406" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.565114" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.569775" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.569891" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.569996" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.565557" elapsed="0.004464"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.570424" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.570174" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.572569" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.570621" elapsed="0.001999"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.574408" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.572689" elapsed="0.001768"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.572670" elapsed="0.001809"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.577971" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.578034" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.574646" elapsed="0.003420"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.580522" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.578170" elapsed="0.002478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.578145" elapsed="0.002538"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.580730" elapsed="0.000060"/>
</return>
<msg time="2026-08-18T20:14:15.581023" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.581083" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.564728" elapsed="0.016386"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.584076" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.581890" elapsed="0.002249"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.581865" elapsed="0.002305"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.584945" 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-08-18T20:14:15.584370" elapsed="0.000613"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.585692" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.585207" elapsed="0.000521"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.585818" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:14:15.586068" 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-08-18T20:14:15.581407" elapsed="0.004696"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.586316" elapsed="0.000585"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.564127" elapsed="0.022862"/>
</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-08-18T20:14:15.513778" elapsed="0.073288"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.501845" elapsed="0.085372"/>
</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-08-18T20:14:15.597957" 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-08-18T20:14:15.598083" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.597821" elapsed="0.000291"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.598681" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838400&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.598259" elapsed="0.000449"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.599146" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.598872" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.599587" 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-08-18T20:14:15.599322" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.600041" 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-08-18T20:14:15.599775" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.601075" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.600211" elapsed="0.000895"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.601586" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.601261" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.602108" 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-08-18T20:14:15.601792" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.602629" 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-08-18T20:14:15.602297" elapsed="0.000373"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.603144" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.602833" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.603694" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.603378" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.604218" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838400&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.603903" elapsed="0.000357"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:15.597487" elapsed="0.006827"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.604853" 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-08-18T20:14:15.604460" elapsed="0.000423"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.605268" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.605032" 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-08-18T20:14:15.612922" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.612613" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.617335" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.617451" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.617546" 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-08-18T20:14:15.613077" elapsed="0.004494"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.617999" 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-08-18T20:14:15.617728" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.620142" 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-08-18T20:14:15.618185" elapsed="0.002008"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.621978" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.620262" elapsed="0.001781"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.620243" elapsed="0.001824"/>
</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-08-18T20:14:15.622204" 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-08-18T20:14:15.622426" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.622294" elapsed="0.000183"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.622278" elapsed="0.000291"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.622606" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:15.624522" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.624583" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.612306" elapsed="0.012308"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.627634" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.625437" elapsed="0.002259"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.625412" elapsed="0.002314"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.628498" 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-08-18T20:14:15.627946" elapsed="0.000594"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.629267" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.628780" elapsed="0.000523"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.629373" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.629619" 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-08-18T20:14:15.624980" elapsed="0.004674"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.629889" elapsed="0.000533"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.611738" elapsed="0.018786"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.639837" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.639526" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.643740" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.643871" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.643976" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.639991" elapsed="0.004010"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.644406" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.644159" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.647423" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.644642" 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-08-18T20:14:15.650009" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.647590" elapsed="0.002487"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.647564" elapsed="0.002544"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.653965" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.654029" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.650295" elapsed="0.003766"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.656319" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.654167" elapsed="0.002208"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.654141" elapsed="0.002258"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.656432" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:15.656621" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.656663" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.639161" elapsed="0.017523"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.658804" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.657235" elapsed="0.001614"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.657218" elapsed="0.001653"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.659452" 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-08-18T20:14:15.659052" elapsed="0.000427"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.660015" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.659643" elapsed="0.000398"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.660092" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:15.660269" 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-08-18T20:14:15.656910" elapsed="0.003384"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.660474" 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-08-18T20:14:15.638549" elapsed="0.022387"/>
</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-08-18T20:14:15.594310" elapsed="0.066682"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.587568" elapsed="0.073530"/>
</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-08-18T20:14:15.671889" 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-08-18T20:14:15.672017" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.671739" elapsed="0.000307"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.672595" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538a5c0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.672194" elapsed="0.000428"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.673058" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.672785" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.673501" 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-08-18T20:14:15.673234" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.673958" 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-08-18T20:14:15.673675" elapsed="0.000309"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.674851" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.674130" elapsed="0.000752"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.675361" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.675036" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.675894" 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-08-18T20:14:15.675553" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.676407" 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-08-18T20:14:15.676085" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.676915" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.676594" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.677418" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.677105" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.677939" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98538a5c0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.677610" 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-08-18T20:14:15.671410" elapsed="0.006625"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.678586" 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-08-18T20:14:15.678181" elapsed="0.000470"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.679061" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.678819" 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-08-18T20:14:15.686656" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.686342" elapsed="0.000341"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.691899" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.692013" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.692120" 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-08-18T20:14:15.686826" elapsed="0.005319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.692553" 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-08-18T20:14:15.692306" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.694856" 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-08-18T20:14:15.692736" elapsed="0.002171"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.696680" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.694977" elapsed="0.001782"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.694958" elapsed="0.001826"/>
</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-08-18T20:14:15.696923" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.697140" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.697011" elapsed="0.000179"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.696996" elapsed="0.000217"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.697244" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:15.698875" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.698919" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.686034" elapsed="0.012907"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.701657" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.699469" elapsed="0.002251"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.699451" elapsed="0.002317"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.702532" 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-08-18T20:14:15.701968" elapsed="0.000600"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.703294" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.702807" elapsed="0.000523"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.703444" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:14:15.703696" 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-08-18T20:14:15.699146" elapsed="0.004584"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.703969" elapsed="0.000530"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.685477" elapsed="0.019114"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.714277" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.713984" elapsed="0.000321"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.719716" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.719901" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.720035" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.714443" elapsed="0.005627"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.720638" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.720290" elapsed="0.000410"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.723641" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.720916" elapsed="0.002796"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.726219" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.723828" elapsed="0.002457"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.723801" elapsed="0.002514"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.730135" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.730198" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.726517" elapsed="0.003712"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.732600" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.730334" elapsed="0.002323"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.730309" elapsed="0.002372"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.732714" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:15.732922" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.732964" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.713599" elapsed="0.019387"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.735092" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.733518" elapsed="0.001618"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.733500" elapsed="0.001658"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.735699" 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-08-18T20:14:15.735301" elapsed="0.000424"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.736251" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.735902" elapsed="0.000375"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.736327" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:15.736502" 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-08-18T20:14:15.733195" elapsed="0.003331"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.736680" 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-08-18T20:14:15.712997" elapsed="0.024180"/>
</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-08-18T20:14:15.668024" elapsed="0.069208"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.661332" elapsed="0.076007"/>
</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-08-18T20:14:15.747980" 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-08-18T20:14:15.748107" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.747846" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.748686" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c310&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.748283" elapsed="0.000430"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.749154" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.748879" elapsed="0.000301"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.749594" 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-08-18T20:14:15.749329" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.750052" 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-08-18T20:14:15.749784" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.750922" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.750223" elapsed="0.000730"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.751427" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.751107" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.751946" 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-08-18T20:14:15.751616" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.752453" 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-08-18T20:14:15.752134" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.752964" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.752641" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.753467" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.753156" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.753993" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a98570c310&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.753663" 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-08-18T20:14:15.747508" elapsed="0.006580"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.754642" 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-08-18T20:14:15.754234" elapsed="0.000438"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.755075" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.754836" 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-08-18T20:14:15.762882" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.762574" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.767179" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.767292" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.767386" 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-08-18T20:14:15.763036" elapsed="0.004375"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.767843" 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-08-18T20:14:15.767572" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.769959" 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-08-18T20:14:15.768030" elapsed="0.001979"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.771817" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.770079" elapsed="0.001805"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.770060" elapsed="0.001848"/>
</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-08-18T20:14:15.772045" 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-08-18T20:14:15.772265" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.772134" elapsed="0.000182"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.772118" elapsed="0.000220"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.772370" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:15.773972" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.774017" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.762254" elapsed="0.011785"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.776391" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.774593" elapsed="0.001860"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.774575" elapsed="0.001908"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.777246" 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-08-18T20:14:15.776680" elapsed="0.000602"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.778005" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.777500" elapsed="0.000541"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.778110" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.778370" 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-08-18T20:14:15.774244" elapsed="0.004162"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.778618" 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-08-18T20:14:15.761697" elapsed="0.017565"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.788998" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.788688" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.793115" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.793261" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.793359" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.789150" elapsed="0.004234"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.793808" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.793541" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.796113" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.793994" 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-08-18T20:14:15.798002" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.796234" elapsed="0.001818"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.796215" elapsed="0.001860"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.801783" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.801849" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.798211" elapsed="0.003671"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.804404" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.801988" elapsed="0.002495"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.801963" elapsed="0.002553"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.804566" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.804856" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.804918" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.788320" elapsed="0.016629"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.807974" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.805705" elapsed="0.002333"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.805681" elapsed="0.002388"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.808841" 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-08-18T20:14:15.808268" elapsed="0.000611"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.809585" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.809099" elapsed="0.000522"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.809690" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:15.809961" 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-08-18T20:14:15.805243" elapsed="0.004753"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.810210" elapsed="0.000626"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.787708" elapsed="0.023214"/>
</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-08-18T20:14:15.744320" elapsed="0.066657"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.737572" elapsed="0.073513"/>
</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-08-18T20:14:15.822088" 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-08-18T20:14:15.822213" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.821955" elapsed="0.000287"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.822815" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0a40&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.822401" elapsed="0.000442"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.823313" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.822991" elapsed="0.000348"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.823769" 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-08-18T20:14:15.823488" elapsed="0.000308"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.824211" 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-08-18T20:14:15.823943" elapsed="0.000293"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.825244" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.824382" elapsed="0.000893"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.825769" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.825429" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.826292" 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-08-18T20:14:15.825963" elapsed="0.000371"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.826818" 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-08-18T20:14:15.826482" elapsed="0.000378"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.827311" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:15.827006" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.827827" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:15.827499" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.828328" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9857f0a40&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.828018" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:15.821614" elapsed="0.006808"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.828956" 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-08-18T20:14:15.828565" elapsed="0.000421"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.829366" level="INFO">&lt;?xml version="1.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-08-18T20:14:15.829131" 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-08-18T20:14:15.836983" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.836673" elapsed="0.000336"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.841075" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.841190" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.841324" 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-08-18T20:14:15.837134" elapsed="0.004217"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.841781" 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-08-18T20:14:15.841512" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.843929" 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-08-18T20:14:15.841967" elapsed="0.002012"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.845765" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.844047" elapsed="0.001786"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.844029" elapsed="0.001828"/>
</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-08-18T20:14:15.845994" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.846214" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.846083" elapsed="0.000192"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.846067" elapsed="0.000231"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.846330" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:15.847929" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.847973" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.836363" elapsed="0.011632"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.850093" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.848527" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.848510" elapsed="0.001649"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.850718" 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-08-18T20:14:15.850323" elapsed="0.000435"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.851262" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.850918" elapsed="0.000369"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.851336" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:15.851512" 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-08-18T20:14:15.848202" elapsed="0.003335"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.851690" 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-08-18T20:14:15.835820" elapsed="0.016327"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.859735" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.859444" elapsed="0.000332"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.865519" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.865632" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.865737" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.859903" elapsed="0.005880"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.866187" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.865939" elapsed="0.000308"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.868355" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.866390" elapsed="0.002050"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.870293" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.868510" elapsed="0.001833"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.868491" elapsed="0.001874"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.873089" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.873134" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.870499" elapsed="0.002657"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.875040" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.873231" elapsed="0.001887"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.873213" elapsed="0.001938"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.875197" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:15.875462" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.875522" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.859077" elapsed="0.016476"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.878514" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.876321" elapsed="0.002256"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.876295" elapsed="0.002313"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.879383" 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-08-18T20:14:15.878828" elapsed="0.000593"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.880163" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.879650" elapsed="0.000549"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.880269" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.880517" 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-08-18T20:14:15.875865" elapsed="0.004688"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.880788" elapsed="0.000534"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.858466" elapsed="0.022947"/>
</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-08-18T20:14:15.818234" elapsed="0.063257"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.811319" elapsed="0.070329"/>
</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-08-18T20:14:15.893863" 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-08-18T20:14:15.893995" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:15.893713" elapsed="0.000311"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.894599" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a11cb0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.894173" elapsed="0.000454"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.895067" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.894791" elapsed="0.000302"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.895507" 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-08-18T20:14:15.895240" elapsed="0.000293"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.895963" 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-08-18T20:14:15.895679" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.897065" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:15.896136" elapsed="0.000961"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.897578" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.897253" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.898143" 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-08-18T20:14:15.897821" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.898684" 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-08-18T20:14:15.898357" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.899197" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:15.898887" elapsed="0.000355"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.899704" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:15.899389" elapsed="0.000374"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.900231" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a11cb0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.899913" 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-08-18T20:14:15.893384" elapsed="0.006944"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.900868" 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-08-18T20:14:15.900473" elapsed="0.000426"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.901285" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:15.901045" 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-08-18T20:14:15.908906" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.908594" elapsed="0.000338"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.913024" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.913145" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.913241" 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-08-18T20:14:15.909058" elapsed="0.004208"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.913669" 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-08-18T20:14:15.913422" elapsed="0.000290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.915830" 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-08-18T20:14:15.913872" elapsed="0.002008"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:15.917682" elapsed="0.000031"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.915948" elapsed="0.001818"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.915929" elapsed="0.001864"/>
</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-08-18T20:14:15.917931" 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-08-18T20:14:15.918152" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.918022" elapsed="0.000194"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.918005" elapsed="0.000234"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.918271" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:15.919881" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.919925" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.908286" elapsed="0.011662"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.922046" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.920480" elapsed="0.001611"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.920463" elapsed="0.001650"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.922797" 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-08-18T20:14:15.922281" elapsed="0.000555"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.923538" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.923055" elapsed="0.000520"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.923643" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:15.923913" 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-08-18T20:14:15.920155" elapsed="0.003793"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.924161" elapsed="0.000530"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.907726" elapsed="0.017074"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.935561" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.935268" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.940256" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.940369" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:15.940472" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:15.935712" elapsed="0.004785"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.940925" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:15.940651" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.943067" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:15.941109" elapsed="0.002009"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.944906" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.943186" elapsed="0.001769"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.943168" elapsed="0.001809"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.948229" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:15.948293" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:15.945111" elapsed="0.003213"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:15.950804" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.948430" elapsed="0.002500"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.948404" elapsed="0.002562"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:15.951014" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.951283" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:15.951343" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:15.934900" elapsed="0.016475"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.954328" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.952144" elapsed="0.002246"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.952118" elapsed="0.002303"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.955194" 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-08-18T20:14:15.954619" elapsed="0.000612"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.955961" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.955453" elapsed="0.000544"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.956067" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:15.956316" 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-08-18T20:14:15.951666" elapsed="0.004685"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:15.956563" elapsed="0.000552"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:15.934041" elapsed="0.023161"/>
</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-08-18T20:14:15.890167" elapsed="0.067113"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.882001" elapsed="0.075427"/>
</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-08-18T20:14:15.968622" 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-08-18T20:14:15.968764" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:15.968486" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:15.969450" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838c70&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:15.968975" elapsed="0.000509"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.970015" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:15.969678" elapsed="0.000364"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.970489" 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-08-18T20:14:15.970217" elapsed="0.000298"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:15.970950" 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-08-18T20:14:15.970663" elapsed="0.000313"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:15.971863" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&gt;
    &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-08-18T20:14:15.971121" elapsed="0.000773"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.972372" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.972048" elapsed="0.000365"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.972893" 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-08-18T20:14:15.972562" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.973403" 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-08-18T20:14:15.973082" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.973920" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:15.973595" elapsed="0.000370"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.974489" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow:inventory"&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-08-18T20:14:15.974165" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.975016" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985838c70&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:15.974683" 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-08-18T20:14:15.968162" elapsed="0.006951"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.975635" 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-08-18T20:14:15.975258" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.976067" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:15.975827" 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-08-18T20:14:15.983720" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:15.983428" elapsed="0.000333"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:15.987879" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:15.987994" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:15.988100" 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-08-18T20:14:15.983890" elapsed="0.004235"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.988537" 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-08-18T20:14:15.988282" elapsed="0.000300"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.990850" 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-08-18T20:14:15.988721" 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-08-18T20:14:15.992699" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:15.990971" elapsed="0.001809"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.990952" elapsed="0.001853"/>
</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-08-18T20:14:15.992942" 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-08-18T20:14:15.993162" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:15.993031" elapsed="0.000181"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:15.993015" elapsed="0.000221"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.993268" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:14:15.995093" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:15.995202" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:15.983121" elapsed="0.012115"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:15.998204" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:15.996006" elapsed="0.002261"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:15.995980" elapsed="0.002317"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.999070" 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-08-18T20:14:15.998496" elapsed="0.000610"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:15.999835" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:15.999328" elapsed="0.000543"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:15.999942" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:16.000188" 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-08-18T20:14:15.995529" elapsed="0.004693"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.000434" 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-08-18T20:14:15.982556" elapsed="0.018522"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.010384" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.010089" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.015338" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.015450" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:16.015565" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:16.010538" elapsed="0.005065"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.016225" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:16.015878" elapsed="0.000409"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.019215" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:16.016482" elapsed="0.002802"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.021795" elapsed="0.000023"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.019379" elapsed="0.002486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.019354" elapsed="0.002542"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.025685" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:16.025768" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:16.022095" elapsed="0.003706"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:16.028002" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.025907" elapsed="0.002151"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.025882" elapsed="0.002199"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:16.028115" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:16.028306" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:16.028349" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:16.009698" elapsed="0.018673"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.030493" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.028919" elapsed="0.001619"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.028902" elapsed="0.001705"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.031174" 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-08-18T20:14:16.030775" elapsed="0.000426"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.031709" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.031361" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.031801" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:16.031981" 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-08-18T20:14:16.028578" elapsed="0.003428"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.032159" elapsed="0.000378"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:16.009099" elapsed="0.023501"/>
</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-08-18T20:14:15.964771" elapsed="0.067884"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:15.957771" elapsed="0.075003"/>
</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-08-18T20:14:16.043474" 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-08-18T20:14:16.043601" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:16.043340" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:16.044198" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a45e0&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:16.043793" elapsed="0.000433"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.044646" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:16.044373" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.045103" 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-08-18T20:14:16.044835" elapsed="0.000294"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.045541" 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-08-18T20:14:16.045277" elapsed="0.000290"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.046434" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:16.045713" elapsed="0.000752"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.046962" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:16.046621" elapsed="0.000383"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.047469" 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-08-18T20:14:16.047155" elapsed="0.000356"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.048004" 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-08-18T20:14:16.047660" elapsed="0.000384"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.048496" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:16.048191" elapsed="0.000349"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.049017" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:16.048687" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.049522" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9863a45e0&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:16.049210" elapsed="0.000353"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:16.043018" elapsed="0.006599"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.050219" 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-08-18T20:14:16.049777" elapsed="0.000473"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.050640" level="INFO">&lt;?xml version="1.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-08-18T20:14:16.050399" 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-08-18T20:14:16.058484" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.058191" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.062641" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.062775" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:16.062873" 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-08-18T20:14:16.058637" elapsed="0.004262"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.063303" 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-08-18T20:14:16.063055" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.065431" 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-08-18T20:14:16.063488" elapsed="0.001994"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:16.067297" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:16.065553" elapsed="0.001810"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.065534" elapsed="0.001853"/>
</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-08-18T20:14:16.067524" 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-08-18T20:14:16.067758" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.067615" elapsed="0.000196"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:16.067598" elapsed="0.000235"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.067864" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:16.069457" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:16.069502" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:16.057867" elapsed="0.011657"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.072070" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.070094" elapsed="0.002038"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.070076" elapsed="0.002087"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.072932" 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-08-18T20:14:16.072361" elapsed="0.000608"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.073728" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.073238" elapsed="0.000547"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.073856" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:14:16.074123" 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-08-18T20:14:16.069729" elapsed="0.004432"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.074375" elapsed="0.000552"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:16.057304" elapsed="0.017712"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.084920" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.084612" elapsed="0.000335"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.088385" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.088496" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:16.088593" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:16.085073" elapsed="0.003545"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.089043" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:16.088794" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.091359" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:16.089227" elapsed="0.002183"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.093224" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.091479" elapsed="0.001795"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.091460" elapsed="0.001836"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.096087" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:16.096132" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:16.093431" elapsed="0.002724"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:16.097914" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.096231" elapsed="0.001748"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.096212" elapsed="0.001791"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:16.098036" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:16.098227" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:16.098269" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:16.084245" elapsed="0.014046"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.100394" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.098838" elapsed="0.001601"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.098820" elapsed="0.001642"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.101021" 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-08-18T20:14:16.100604" elapsed="0.000443"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.101555" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.101207" elapsed="0.000374"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.101631" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:16.101825" 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-08-18T20:14:16.098498" elapsed="0.003352"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.102054" 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-08-18T20:14:16.083628" elapsed="0.018882"/>
</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-08-18T20:14:16.039820" elapsed="0.062747"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.033012" elapsed="0.069662"/>
</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-08-18T20:14:16.113353" 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-08-18T20:14:16.113480" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:16.113219" elapsed="0.000290"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:16.114086" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839170&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:16.113658" elapsed="0.000456"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.114537" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:16.114264" elapsed="0.000300"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.114997" 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-08-18T20:14:16.114712" elapsed="0.000311"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.115440" 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-08-18T20:14:16.115174" elapsed="0.000292"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.116444" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:16.115612" elapsed="0.000864"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.116974" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:16.116630" elapsed="0.000386"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.117486" 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-08-18T20:14:16.117167" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.118042" 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-08-18T20:14:16.117677" elapsed="0.000412"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.118547" level="INFO">${data} = &lt;?xml version="1.0" encoding="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-08-18T20:14:16.118239" elapsed="0.000353"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.119071" level="INFO">${upddata} = &lt;?xml version="1.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-08-18T20:14:16.118740" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.119574" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985839170&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:16.119263" elapsed="0.000351"/>
</kw>
<arg>${XmlsDir}/${fname}</arg>
<doc>Given the flow XML ${file}, it will create several suite wide variables</doc>
<status status="PASS" start="2026-08-18T20:14:16.112895" elapsed="0.006773"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.120204" 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-08-18T20:14:16.119828" elapsed="0.000405"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.120614" level="INFO">&lt;?xml version="1.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-08-18T20:14:16.120379" elapsed="0.000334"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.128335" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.128042" elapsed="0.000320"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.132836" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.132950" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:16.133046" 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-08-18T20:14:16.128489" elapsed="0.004582"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.133474" 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-08-18T20:14:16.133227" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.135634" 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-08-18T20:14:16.133658" 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-08-18T20:14:16.137484" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:16.135769" elapsed="0.001782"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.135735" elapsed="0.001840"/>
</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-08-18T20:14:16.137714" 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-08-18T20:14:16.137965" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.137821" elapsed="0.000196"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:16.137805" elapsed="0.000237"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.138074" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:16.140873" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:16.140991" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:16.127717" elapsed="0.013331"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.146326" elapsed="0.000035"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.142421" elapsed="0.004014"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.142377" elapsed="0.004111"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.147294" 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-08-18T20:14:16.146704" elapsed="0.000628"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.148073" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.147557" elapsed="0.000552"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.148179" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:16.148429" 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-08-18T20:14:16.141567" elapsed="0.006897"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.148679" 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-08-18T20:14:16.127170" elapsed="0.022155"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.159668" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.159372" elapsed="0.000323"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.164030" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.164184" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:16.164282" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:16.159837" elapsed="0.004471"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.164719" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:16.164466" elapsed="0.000319"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.167094" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:16.164929" 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-08-18T20:14:16.168967" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.167218" elapsed="0.001798"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.167198" elapsed="0.001841"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.172199" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:16.172266" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:16.169177" elapsed="0.003123"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:16.175025" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.172409" elapsed="0.002704"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.172382" elapsed="0.002764"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:16.175194" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:16.175464" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:16.175525" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:16.158999" elapsed="0.016557"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.178549" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.176339" elapsed="0.002272"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.176315" elapsed="0.002327"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.179424" 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-08-18T20:14:16.178866" elapsed="0.000596"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.180192" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.179681" elapsed="0.000547"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.180297" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:16.180543" 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-08-18T20:14:16.175884" elapsed="0.004694"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.180815" elapsed="0.000534"/>
</kw>
<arg>${reqoperpres}</arg>
<arg>${det}</arg>
<arg>${check_id}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Operational Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the operational store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:16.158240" elapsed="0.023198"/>
</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-08-18T20:14:16.109675" elapsed="0.071842"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.102924" elapsed="0.078749"/>
</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-08-18T20:14:16.192656" 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-08-18T20:14:16.192800" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:16.192521" elapsed="0.000309"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:16.193358" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3920&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:16.192978" elapsed="0.000408"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.193888" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:16.193533" elapsed="0.000384"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.194342" 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-08-18T20:14:16.194069" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.194800" 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-08-18T20:14:16.194516" elapsed="0.000310"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.195687" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:16.194975" elapsed="0.000743"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.196218" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:16.195889" elapsed="0.000372"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.196731" 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-08-18T20:14:16.196412" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.197259" 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-08-18T20:14:16.196939" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.197769" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:16.197448" elapsed="0.000367"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.198288" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:16.197973" elapsed="0.000360"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.198811" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d3920&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:16.198479" 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-08-18T20:14:16.192198" elapsed="0.006710"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.199432" 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-08-18T20:14:16.199053" elapsed="0.000408"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.199861" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:16.199608" 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-08-18T20:14:16.207447" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.207151" elapsed="0.000322"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.211863" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.211979" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:16.212076" 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-08-18T20:14:16.207599" elapsed="0.004502"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.212545" 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-08-18T20:14:16.212295" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.214703" 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-08-18T20:14:16.212730" 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-08-18T20:14:16.216552" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:16.214846" elapsed="0.001777"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.214826" elapsed="0.001822"/>
</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-08-18T20:14:16.216800" 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-08-18T20:14:16.217025" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.216891" elapsed="0.000185"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:16.216875" elapsed="0.000224"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.217131" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:16.218907" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:16.218969" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:16.206842" elapsed="0.012158"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.221932" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.219739" elapsed="0.002256"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.219714" elapsed="0.002311"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.222792" 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-08-18T20:14:16.222224" elapsed="0.000607"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.223531" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.223050" elapsed="0.000516"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.223634" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:14:16.223902" 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-08-18T20:14:16.219289" elapsed="0.004648"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.224150" elapsed="0.000526"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:16.206283" elapsed="0.018499"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.234193" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.233891" elapsed="0.000329"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.238010" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.238123" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:16.238218" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:16.234345" elapsed="0.003898"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.238653" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:16.238401" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.240966" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:16.238853" elapsed="0.002164"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.242887" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.241128" elapsed="0.001808"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.241108" elapsed="0.001851"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.245466" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:16.245512" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:16.243094" elapsed="0.002441"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:16.247407" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.245611" elapsed="0.001851"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.245593" elapsed="0.001893"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:16.247519" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:16.247711" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:16.247777" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:16.233480" elapsed="0.014322"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.249913" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.248338" elapsed="0.001621"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.248320" elapsed="0.001661"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.250518" 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-08-18T20:14:16.250125" elapsed="0.000419"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.251065" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.250702" elapsed="0.000389"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.251140" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:16.251316" 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-08-18T20:14:16.248012" elapsed="0.003329"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.251494" 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-08-18T20:14:16.232882" elapsed="0.019073"/>
</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-08-18T20:14:16.189009" elapsed="0.063000"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.182055" elapsed="0.070060"/>
</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-08-18T20:14:16.262777" 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-08-18T20:14:16.262905" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:16.262630" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:16.263472" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1080&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:16.263082" elapsed="0.000417"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.263941" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:16.263652" elapsed="0.000315"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.264380" 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-08-18T20:14:16.264116" elapsed="0.000289"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.264831" 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-08-18T20:14:16.264551" elapsed="0.000305"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.267112" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:16.265002" elapsed="0.002141"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.267624" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:16.267297" elapsed="0.000369"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.268149" 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-08-18T20:14:16.267830" elapsed="0.000397"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.268699" 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-08-18T20:14:16.268378" elapsed="0.000361"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.269209" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:16.268902" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.269714" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:16.269400" elapsed="0.000375"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.270256" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a9855d1080&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:16.269936" 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-08-18T20:14:16.262308" elapsed="0.008044"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.270892" 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-08-18T20:14:16.270497" elapsed="0.000424"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.271305" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:16.271067" 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-08-18T20:14:16.278979" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.278667" elapsed="0.000339"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.283102" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.283216" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:16.283322" 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-08-18T20:14:16.279133" elapsed="0.004214"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.283779" 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-08-18T20:14:16.283504" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.285948" 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-08-18T20:14:16.283965" 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-08-18T20:14:16.287790" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:14:16.286067" elapsed="0.001789"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.286048" elapsed="0.001832"/>
</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-08-18T20:14:16.288019" 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-08-18T20:14:16.288237" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.288108" elapsed="0.000211"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:16.288092" elapsed="0.000251"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.288375" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:14:16.290006" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:16.290050" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:16.278357" elapsed="0.011715"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.292865" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.290644" elapsed="0.002284"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.290613" elapsed="0.002346"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.293709" 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-08-18T20:14:16.293160" elapsed="0.000629"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.294505" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.294017" elapsed="0.000527"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.294615" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:16.294887" 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-08-18T20:14:16.290276" elapsed="0.004647"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.295136" elapsed="0.000526"/>
</kw>
<arg>${reqconfpres}</arg>
<arg>${det}</arg>
<doc>Wrapper keyword that calls "Flow Presence In Config Store" and "Get Presence Failure Message" from this library
to verify that the ${expvalue} flow is or is not found in the config store, depending on whether or not it was ${expected}</doc>
<status status="PASS" start="2026-08-18T20:14:16.277800" 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-08-18T20:14:16.305446" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.305154" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.309574" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.309687" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:16.309827" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:16.305599" elapsed="0.004255"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.310257" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:16.310010" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.313410" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:16.310441" elapsed="0.003039"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.316049" elapsed="0.000022"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.313575" elapsed="0.002542"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.313549" elapsed="0.002598"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.319702" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:16.319787" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:16.316336" elapsed="0.003484"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:16.322311" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.319924" elapsed="0.002465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.319899" elapsed="0.002523"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:16.322468" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:14:16.322773" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:16.322818" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:16.304783" elapsed="0.018057"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.324997" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.323415" elapsed="0.001627"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.323398" elapsed="0.001666"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.325602" 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-08-18T20:14:16.325208" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.326168" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.325817" elapsed="0.000377"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.326244" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:16.326421" 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-08-18T20:14:16.323087" elapsed="0.003359"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.326606" 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-08-18T20:14:16.304162" elapsed="0.022903"/>
</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-08-18T20:14:16.259115" elapsed="0.068005"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.252360" elapsed="0.074864"/>
</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-08-18T20:14:16.338077" 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-08-18T20:14:16.338215" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:16.337941" elapsed="0.000303"/>
</kw>
<kw name="Parse Xml" owner="XML">
<msg time="2026-08-18T20:14:16.338794" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a1e890&gt;</msg>
<var>${xmlroot}</var>
<arg>${file}</arg>
<doc>Parses the given XML file or string into an element structure.</doc>
<status status="PASS" start="2026-08-18T20:14:16.338393" elapsed="0.000429"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.339245" level="INFO">${table_id} = 2</msg>
<var>${table_id}</var>
<arg>${xmlroot}</arg>
<arg>table_id</arg>
<doc>Returns all text of the element, possibly whitespace normalized.</doc>
<status status="PASS" start="2026-08-18T20:14:16.338972" elapsed="0.000299"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.339683" 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-08-18T20:14:16.339418" elapsed="0.000291"/>
</kw>
<kw name="Get Element Text" owner="XML">
<msg time="2026-08-18T20:14:16.340142" 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-08-18T20:14:16.339874" elapsed="0.000294"/>
</kw>
<kw name="Get Data For Flow Put Update" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.341080" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:16.340315" elapsed="0.000796"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.341588" level="INFO">${table_id} = 2</msg>
<arg>${table_id}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:16.341264" elapsed="0.000366"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.342137" 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-08-18T20:14:16.341815" elapsed="0.000363"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.342648" 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-08-18T20:14:16.342326" elapsed="0.000362"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.343159" level="INFO">${data} = &lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
&lt;flow 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-08-18T20:14:16.342851" elapsed="0.000352"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.343662" level="INFO">${upddata} = &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight:flow: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-08-18T20:14:16.343349" elapsed="0.000357"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.344180" level="INFO">${xmlroot} = &lt;Element 'flow' at 0x79a985a1e890&gt;</msg>
<arg>${xmlroot}</arg>
<doc>Makes a variable available everywhere within the scope of the current suite.</doc>
<status status="PASS" start="2026-08-18T20:14:16.343868" 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-08-18T20:14:16.337596" elapsed="0.006719"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.344855" 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-08-18T20:14:16.344463" elapsed="0.000422"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.345270" level="INFO">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;flow xmlns="urn:opendaylight: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-08-18T20:14:16.345033" elapsed="0.000294"/>
</kw>
<kw name="Check Config Flow" owner="FlowLib">
<kw name="Flow Presence In Config Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.353079" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.352787" elapsed="0.000318"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.357090" level="INFO">GET Request : url=http://10.30.171.138: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=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.357203" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:16.357299" 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-08-18T20:14:16.353231" elapsed="0.004093"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.357766" 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-08-18T20:14:16.357480" elapsed="0.000333"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.359898" 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-08-18T20:14:16.357954" elapsed="0.001994"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:16.361757" elapsed="0.000030"/>
</return>
<status status="PASS" start="2026-08-18T20:14:16.360017" elapsed="0.001808"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.359999" 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-08-18T20:14:16.361987" elapsed="0.000021"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:16.362204" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.362075" elapsed="0.000179"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:16.362059" elapsed="0.000218"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.362308" elapsed="0.000013"/>
</return>
<msg time="2026-08-18T20:14:16.363910" level="INFO">${presence_flow} = False</msg>
<msg time="2026-08-18T20:14:16.363954" level="INFO">${msg} = </msg>
<var>${presence_flow}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<doc>Checks 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-08-18T20:14:16.352465" elapsed="0.011511"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.366111" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.364507" elapsed="0.001650"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.364490" elapsed="0.001689"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.366808" 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-08-18T20:14:16.366322" elapsed="0.000525"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.367611" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.367115" elapsed="0.000532"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.367717" elapsed="0.000059"/>
</return>
<msg time="2026-08-18T20:14:16.367988" 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-08-18T20:14:16.364182" elapsed="0.003841"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_flow}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.368238" 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-08-18T20:14:16.351917" elapsed="0.016967"/>
</kw>
<kw name="Check Operational Flow" owner="FlowLib">
<kw name="Flow Presence In Operational Store" owner="FlowLib">
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.379428" level="INFO">${headers} = {'Accept': 'application/xml'}</msg>
<var>${headers}</var>
<arg>Accept=application/xml</arg>
<doc>Creates and returns a dictionary based on the given ``items``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.379135" elapsed="0.000319"/>
</kw>
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.382855" level="INFO">GET Request : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 path_url=/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=2 
 headers={'User-Agent': 'python-requests/2.34.2', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/xml', 'Connection': 'keep-alive', 'Content-Type': 'application/xml', 'Cookie': 'JSESSIONID=node05zbpqwh27z421v447t61ysu909.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:16.382968" level="INFO">GET Response : url=http://10.30.171.138:8181/rests/data/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-08-18T20:14:16.383064" level="INFO">${resp} = &lt;Response [200]&gt;</msg>
<var>${resp}</var>
<arg>session</arg>
<arg>url=${RFC8040_NODES_API}/node=openflow%3A${switch_idx}/flow-node-inventory:table=${table_id}</arg>
<arg>headers=${headers}</arg>
<arg>expected_status=anything</arg>
<doc>Sends a GET request on a previously created HTTP Session.</doc>
<status status="PASS" start="2026-08-18T20:14:16.379581" elapsed="0.003508"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.383493" level="INFO">&lt;Response [200]&gt;</msg>
<arg>${resp}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:16.383245" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.385845" level="INFO">&lt;table xmlns="urn:opendaylight:flow:inventory"&gt;&lt;id&gt;2&lt;/id&gt;&lt;flow-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-08-18T20:14:16.383676" elapsed="0.002220"/>
</kw>
<if>
<branch type="IF" condition="${resp.status_code}!=200">
<return>
<value>${False}</value>
<value>${EMPTY}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.387700" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.385965" elapsed="0.001800"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.385946" elapsed="0.001842"/>
</if>
<kw name="Is Flow Operational2" owner="XmlComparator">
<msg time="2026-08-18T20:14:16.390437" level="INFO">${pres} = False</msg>
<msg time="2026-08-18T20:14:16.390482" level="INFO">${msg} = </msg>
<var>${pres}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${resp.text}</arg>
<arg>${check_id}</arg>
<status status="PASS" start="2026-08-18T20:14:16.387924" elapsed="0.002581"/>
</kw>
<if>
<branch type="IF" condition="'''${msg}'''!='${EMPTY}'">
<kw name="Log" owner="BuiltIn">
<arg>${msg}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:16.392266" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.390581" elapsed="0.001740"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.390562" elapsed="0.001783"/>
</if>
<return>
<value>${pres}</value>
<value>${msg}</value>
<status status="PASS" start="2026-08-18T20:14:16.392378" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:16.392569" level="INFO">${presence_table} = False</msg>
<msg time="2026-08-18T20:14:16.392612" level="INFO">${msg} = </msg>
<var>${presence_table}</var>
<var>${msg}</var>
<arg>${expvalue}</arg>
<arg>${check_id}</arg>
<doc>Checks 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-08-18T20:14:16.378762" elapsed="0.013871"/>
</kw>
<kw name="Get Presence Failure Message" owner="FlowLib">
<if>
<branch type="IF" condition="'''${diffmsg}'''!='${EMPTY}'">
<return>
<value>Flow found in ${ds} data store but: ${diffmsg}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.394777" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.393185" elapsed="0.001638"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.393167" elapsed="0.001678"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.395385" 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-08-18T20:14:16.394987" elapsed="0.000425"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.395933" level="INFO">${msgp} = it is not present.</msg>
<var>${msgp}</var>
<arg>${presence}==${True}</arg>
<arg>it is present.</arg>
<arg>it is not present.</arg>
<doc>Sets variable based on the given condition.</doc>
<status status="PASS" start="2026-08-18T20:14:16.395571" elapsed="0.000388"/>
</kw>
<return>
<value>${msgf} ${msgp}</value>
<status status="PASS" start="2026-08-18T20:14:16.396008" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:16.396185" 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-08-18T20:14:16.392859" elapsed="0.003350"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<arg>${expected}</arg>
<arg>${presence_table}</arg>
<arg>msg=${msgf}</arg>
<doc>Fails if the given objects are unequal.</doc>
<status status="PASS" start="2026-08-18T20:14:16.396403" 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-08-18T20:14:16.377836" elapsed="0.019036"/>
</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-08-18T20:14:16.334400" elapsed="0.062528"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.327461" elapsed="0.069574"/>
</test>
<kw name="Delete All Sessions" owner="RequestsLibrary" type="TEARDOWN">
<msg time="2026-08-18T20:14:16.397955" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:14:16.397875" elapsed="0.000144"/>
</kw>
<doc>Test suite for Stats Manager flows collection</doc>
<status status="PASS" start="2026-08-18T20:12:40.380553" elapsed="96.017499"/>
</suite>
<kw name="Stop Mininet" owner="Utils" type="TEARDOWN">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.400700" 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-08-18T20:14:16.400483" elapsed="0.000277"/>
</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-08-18T20:14:16.400897" elapsed="0.000143"/>
</kw>
<kw name="Read" owner="SSHLibrary">
<doc>Consumes and returns everything available on the server output.</doc>
<status status="PASS" start="2026-08-18T20:14:16.401168" elapsed="0.000141"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:14:16.403332" 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-08-18T20:14:16.401432" elapsed="0.001956"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:14:16.507288" level="INFO">*** Stopping 1 controllers
c0 
*** Stopping 2 links
..
*** Stopping 1 switches
s1 
*** Stopping 2 hosts
h1 h2 
*** Done
completed in 131.843 seconds
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:16.403524" elapsed="0.103834"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:16.507504" elapsed="0.000164"/>
</kw>
<doc>Cleanup/Shutdown work that should be done at the completion of all
tests</doc>
<status status="PASS" start="2026-08-18T20:14:16.400222" elapsed="0.107504"/>
</kw>
<doc>Test suite for the OpenDaylight OpenFlow statistics manager</doc>
<status status="PASS" start="2026-08-18T20:12:01.926924" elapsed="134.580848"/>
</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-08-18T20:14:16.761916" 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-08-18T20:14:16.758368" elapsed="0.003582"/>
</kw>
<if>
<branch type="IF" condition="${already_done}">
<return>
<status status="NOT RUN" start="2026-08-18T20:14:16.762163" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:16.762050" elapsed="0.000160"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.762026" elapsed="0.000207"/>
</if>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.762719" 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-08-18T20:14:16.762386" elapsed="0.000393"/>
</kw>
<kw name="Get Variable Value" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.763250" 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-08-18T20:14:16.762939" elapsed="0.000337"/>
</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-08-18T20:14:16.763788" elapsed="0.000280"/>
</kw>
<msg time="2026-08-18T20:14:16.764166" level="INFO">${status} = PASS</msg>
<msg time="2026-08-18T20:14:16.764212" 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-08-18T20:14:16.763439" elapsed="0.000796"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.764779" 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-08-18T20:14:16.764399" elapsed="0.000407"/>
</kw>
<kw name="ClusterManagement__Compute_Derived_Variables" owner="ClusterManagement">
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.766005" level="INFO">@{member_index_list} = [ ]</msg>
<var>@{member_index_list}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:16.765726" elapsed="0.000306"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.766432" level="INFO">@{session_list} = [ ]</msg>
<var>@{session_list}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:16.766179" elapsed="0.000278"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.766920" 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-08-18T20:14:16.766611" elapsed="0.000335"/>
</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-08-18T20:14:16.769888" elapsed="0.000223"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.770600" level="INFO">${member_ip} = 10.30.171.138</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-08-18T20:14:16.770273" elapsed="0.000401"/>
</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-08-18T20:14:16.770846" elapsed="0.000298"/>
</kw>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.771944" 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-08-18T20:14:16.771630" elapsed="0.000341"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:14:16.772018" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:14:16.772180" 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-08-18T20:14:16.771337" elapsed="0.000868"/>
</kw>
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.772798" level="INFO">Creating Session using : alias=ClusterManagement__session_1, url=http://10.30.171.138:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a985601ed0&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-08-18T20:14:16.772361" elapsed="0.000705"/>
</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-08-18T20:14:16.773231" elapsed="0.000220"/>
</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-08-18T20:14:16.769295" elapsed="0.004216"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-08-18T20:14:16.769096" elapsed="0.004459"/>
</iter>
<var>${index}</var>
<value>1</value>
<value>${int_of_members+1}</value>
<status status="PASS" start="2026-08-18T20:14:16.767004" elapsed="0.006583"/>
</for>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.774132" 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-08-18T20:14:16.773763" elapsed="0.000412"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.774697" level="INFO">${ClusterManagement__index_to_ip_mapping} = {1: '10.30.171.138'}</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-08-18T20:14:16.774335" elapsed="0.000404"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.775267" 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-08-18T20:14:16.774916" elapsed="0.000393"/>
</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-08-18T20:14:16.765274" elapsed="0.010093"/>
</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-08-18T20:14:16.758061" elapsed="0.017362"/>
</kw>
<kw name="Create Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:16.775824" level="INFO">Creating Session using : alias=session, url=http://10.30.171.138:8181, headers={},                     cookies={}, auth=&lt;requests.auth.HTTPBasicAuth object at 0x79a985305d90&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-08-18T20:14:16.775569" elapsed="0.000387"/>
</kw>
<kw name="Convert To Integer" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.776527" 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-08-18T20:14:16.776219" elapsed="0.000334"/>
</kw>
<kw name="Convert To Integer" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.777050" 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-08-18T20:14:16.776738" elapsed="0.000339"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.777593" 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-08-18T20:14:16.777230" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.778135" 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-08-18T20:14:16.777787" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.780349" 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-08-18T20:14:16.778313" elapsed="0.002063"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.780896" 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-08-18T20:14:16.780530" elapsed="0.000393"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.781393" 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-08-18T20:14:16.781081" elapsed="0.000354"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.781890" 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-08-18T20:14:16.781589" elapsed="0.000342"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.782376" 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-08-18T20:14:16.782085" elapsed="0.000368"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.782928" 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-08-18T20:14:16.782611" elapsed="0.000358"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.783417" 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-08-18T20:14:16.783124" elapsed="0.000334"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.783923" 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-08-18T20:14:16.783613" elapsed="0.000351"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.787835" 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-08-18T20:14:16.784119" elapsed="0.003762"/>
</kw>
<doc>Create controller session and set variables.</doc>
<status status="PASS" start="2026-08-18T20:14:16.757517" elapsed="0.030423"/>
</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-08-18T20:14:16.791093" 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-08-18T20:14:16.790689" 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-08-18T20:14:16.831594" 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-08-18T20:14:16.831222" elapsed="0.000400"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:16.832366" 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-08-18T20:14:16.832124" elapsed="0.000319">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-08-18T20:14:16.832539" 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-08-18T20:14:16.831795" elapsed="0.000768"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.833119" 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-08-18T20:14:16.832723" elapsed="0.000423"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:16.833467" 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-08-18T20:14:16.833607" 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-08-18T20:14:16.833331" elapsed="0.000302"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.834046" 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-08-18T20:14:16.833802" elapsed="0.000289"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.835031" 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-08-18T20:14:16.834778" elapsed="0.000297"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.835484" 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-08-18T20:14:16.835229" elapsed="0.000281"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.836208" 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-08-18T20:14:16.835867" elapsed="0.000367"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-08-18T20:14:16.837272" 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-08-18T20:14:16.836763" elapsed="0.000537"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-08-18T20:14:16.837351" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:16.837503" 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-08-18T20:14:16.836415" elapsed="0.001113"/>
</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-08-18T20:14:16.837679" elapsed="0.000289"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:1</var>
<status status="PASS" start="2026-08-18T20:14:16.835722" elapsed="0.002287"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-08-18T20:14:16.835556" elapsed="0.002488"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:14:16.838087" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:16.838279" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:14:16.834445" elapsed="0.003860"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.834159" elapsed="0.004179"/>
</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-08-18T20:14:16.838510" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.838363" elapsed="0.000203"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.834140" elapsed="0.004447"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.843192" 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-08-18T20:14:16.838726" elapsed="0.004495"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:16.843272" 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-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-08-18T20:14:16.830602" elapsed="0.012799"/>
</kw>
<msg time="2026-08-18T20:14:16.843456" 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-08-18T20:14:16.818626" elapsed="0.024878"/>
</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-08-18T20:14:16.855209" 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-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-08-18T20:14:16.866992" 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-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-08-18T20:14:16.878600" 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-08-18T20:14:16.878804" 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-08-18T20:14:16.878979" 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-08-18T20:14:16.879338" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.879197" elapsed="0.000195"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:16.879182" elapsed="0.000233"/>
</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-08-18T20:14:16.879551" 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-08-18T20:14:16.879716" elapsed="0.000019"/>
</kw>
<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-08-18T20:14:16.879893" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:14:16.879154" elapsed="0.000792"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.879054" elapsed="0.000918"/>
</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-08-18T20:14:16.880115" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:16.880223" elapsed="0.000017"/>
</return>
<msg time="2026-08-18T20:14:16.880341" 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-08-18T20:14:16.814600" elapsed="0.065766"/>
</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-08-18T20:14:16.890999" elapsed="0.000334"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.903907" 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-08-18T20:14:16.903521" elapsed="0.000415"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:16.904629" 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-08-18T20:14:16.904419" elapsed="0.000274">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-08-18T20:14:16.904802" 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-08-18T20:14:16.904094" elapsed="0.000732"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.905387" 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-08-18T20:14:16.904986" elapsed="0.000431"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:16.905705" 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-08-18T20:14:16.905853" 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-08-18T20:14:16.905572" elapsed="0.000306"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.906269" 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-08-18T20:14:16.906030" elapsed="0.000284"/>
</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-08-18T20:14:16.906657" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.906378" elapsed="0.000336"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.907184" 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-08-18T20:14:16.906896" elapsed="0.000314"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.906738" elapsed="0.000507"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.906359" elapsed="0.000907"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.907848" 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-08-18T20:14:16.907405" elapsed="0.000469"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:16.907923" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:16.908074" 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-08-18T20:14:16.902919" elapsed="0.005180"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.920950" 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-08-18T20:14:16.920563" elapsed="0.000414"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:16.921723" 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-08-18T20:14:16.921477" elapsed="0.000325">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-08-18T20:14:16.921895" 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-08-18T20:14:16.921150" elapsed="0.000768"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.922452" 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-08-18T20:14:16.922077" elapsed="0.000402"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:16.922780" 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-08-18T20:14:16.922907" 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-08-18T20:14:16.922634" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.923322" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:16.923083" elapsed="0.000282"/>
</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-08-18T20:14:16.923717" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.923431" elapsed="0.000361"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.924248" 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-08-18T20:14:16.923959" elapsed="0.000314"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.923816" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.923413" elapsed="0.000916"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.924901" 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-08-18T20:14:16.924470" elapsed="0.000458"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:16.924975" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:16.925140" 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-08-18T20:14:16.919960" elapsed="0.005205"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.937807" 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-08-18T20:14:16.937423" elapsed="0.000412"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:16.938521" 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-08-18T20:14:16.938314" elapsed="0.000271">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-08-18T20:14:16.938676" 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-08-18T20:14:16.937991" elapsed="0.000709"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.939251" 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-08-18T20:14:16.938876" elapsed="0.000402"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:16.939564" 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-08-18T20:14:16.939696" 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-08-18T20:14:16.939433" elapsed="0.000289"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.940133" 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-08-18T20:14:16.939893" elapsed="0.000319"/>
</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-08-18T20:14:16.940563" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.940280" elapsed="0.000341"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.941122" 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-08-18T20:14:16.940808" elapsed="0.000342"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.940645" elapsed="0.000541"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.940261" elapsed="0.000945"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.941940" 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-08-18T20:14:16.941350" elapsed="0.000619"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:16.942018" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:16.942170" 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-08-18T20:14:16.936881" elapsed="0.005315"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.942593" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:16.942355" elapsed="0.000263"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.943149" 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-08-18T20:14:16.942789" elapsed="0.000386"/>
</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-08-18T20:14:16.943790" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:16.943546" elapsed="0.000303"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.943532" elapsed="0.000340"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.944356" 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-08-18T20:14:16.944009" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.945139" 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-08-18T20:14:16.944534" 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-08-18T20:14:16.945318" elapsed="0.000188"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-08-18T20:14:16.943501" elapsed="0.002042"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.946137" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.945903" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.945888" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.946894" 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-08-18T20:14:16.946528" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.947650" 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-08-18T20:14:16.947073" 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-08-18T20:14:16.947847" elapsed="0.000186"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-08-18T20:14:16.945857" 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-08-18T20:14:16.948478" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.948246" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.948232" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.949236" 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-08-18T20:14:16.948874" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.949995" 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-08-18T20:14:16.949411" 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-08-18T20:14:16.950217" elapsed="0.000184"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-08-18T20:14:16.948202" 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-08-18T20:14:16.950863" elapsed="0.000208"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.950614" elapsed="0.000506"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.950599" elapsed="0.000551"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.951661" 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-08-18T20:14:16.951301" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.952430" 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-08-18T20:14:16.951855" 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-08-18T20:14:16.952609" elapsed="0.000197"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-08-18T20:14:16.950570" 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-08-18T20:14:16.953287" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.953021" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.953007" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.954035" 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-08-18T20:14:16.953669" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.954794" 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-08-18T20:14:16.954211" 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-08-18T20:14:16.954974" elapsed="0.000180"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-08-18T20:14:16.952978" 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-08-18T20:14:16.955594" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.955365" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.955351" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.956331" 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-08-18T20:14:16.955989" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.957099" 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-08-18T20:14:16.956506" 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-08-18T20:14:16.957277" elapsed="0.000181"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-08-18T20:14:16.955322" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.957916" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.957670" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.957656" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.958636" 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-08-18T20:14:16.958295" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.959395" 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-08-18T20:14:16.958826" 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-08-18T20:14:16.959570" elapsed="0.000193"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-08-18T20:14:16.957627" elapsed="0.002175"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.960205" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.959977" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.959962" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.960945" 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-08-18T20:14:16.960583" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.961766" 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-08-18T20:14:16.961171" 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-08-18T20:14:16.962057" elapsed="0.000187"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-08-18T20:14:16.959934" 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-08-18T20:14:16.962821" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.962572" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.962558" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.963551" 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-08-18T20:14:16.963205" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.964310" 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-08-18T20:14:16.963728" 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-08-18T20:14:16.964490" elapsed="0.000186"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-08-18T20:14:16.962528" elapsed="0.002184"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.965167" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.964913" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.964898" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.965918" 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-08-18T20:14:16.965548" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.966659" 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-08-18T20:14:16.966092" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.966852" elapsed="0.000181"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-08-18T20:14:16.964868" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.967476" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.967247" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.967232" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.968218" 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-08-18T20:14:16.967875" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.968979" 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-08-18T20:14:16.968392" 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-08-18T20:14:16.969174" elapsed="0.000185"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-08-18T20:14:16.967203" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.969816" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.969571" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.969556" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.970565" 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-08-18T20:14:16.970211" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.971326" 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-08-18T20:14:16.970740" 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-08-18T20:14:16.971503" elapsed="0.000179"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-08-18T20:14:16.969528" elapsed="0.002190"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.972175" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.971911" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.971896" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.972924" 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-08-18T20:14:16.972558" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.973715" 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-08-18T20:14:16.973116" 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-08-18T20:14:16.973912" elapsed="0.000181"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-08-18T20:14:16.971867" 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-08-18T20:14:16.974539" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.974309" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.974295" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.975286" 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-08-18T20:14:16.974936" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.976078" 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-08-18T20:14:16.975461" 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-08-18T20:14:16.976256" elapsed="0.000178"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-08-18T20:14:16.974266" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.976906" elapsed="0.000205"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.976651" elapsed="0.000499"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.976636" elapsed="0.000539"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.977658" 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-08-18T20:14:16.977314" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.978420" 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-08-18T20:14:16.977849" 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-08-18T20:14:16.978598" elapsed="0.000194"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-08-18T20:14:16.976607" 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-08-18T20:14:16.979355" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.979122" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.979107" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.980099" 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-08-18T20:14:16.979734" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.980862" 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-08-18T20:14:16.980277" 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-08-18T20:14:16.981052" elapsed="0.000182"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-08-18T20:14:16.979078" elapsed="0.002193"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.981679" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.981448" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.981433" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.982422" 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-08-18T20:14:16.982077" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.983181" 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-08-18T20:14:16.982599" 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-08-18T20:14:16.983394" elapsed="0.000180"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-08-18T20:14:16.981405" elapsed="0.002206"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.984037" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.983805" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.983790" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.984774" 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-08-18T20:14:16.984414" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.985545" 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-08-18T20:14:16.984952" 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-08-18T20:14:16.985724" elapsed="0.000196"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-08-18T20:14:16.983758" elapsed="0.002199"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.986373" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.986141" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.986125" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.987112" 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-08-18T20:14:16.986765" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.987866" 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-08-18T20:14:16.987287" 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-08-18T20:14:16.988044" elapsed="0.000178"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-08-18T20:14:16.986094" elapsed="0.002164"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.988663" elapsed="0.000318"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.988435" elapsed="0.000583"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.988420" elapsed="0.000650"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.989555" 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-08-18T20:14:16.989211" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.990310" 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-08-18T20:14:16.989728" 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-08-18T20:14:16.990488" elapsed="0.000179"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-08-18T20:14:16.988391" 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-08-18T20:14:16.991127" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.990897" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.990881" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.991864" 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-08-18T20:14:16.991505" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.992604" 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-08-18T20:14:16.992039" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.992796" elapsed="0.000179"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-08-18T20:14:16.990851" elapsed="0.002161"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.993432" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.993203" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.993188" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.994165" 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-08-18T20:14:16.993822" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.994969" 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-08-18T20:14:16.994380" 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-08-18T20:14:16.995148" elapsed="0.000180"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-08-18T20:14:16.993158" elapsed="0.002207"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:16.995913" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.995662" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.995647" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.996640" 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-08-18T20:14:16.996295" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.997414" 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-08-18T20:14:16.996833" 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-08-18T20:14:16.997594" elapsed="0.000201"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-08-18T20:14:16.995616" 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-08-18T20:14:16.998241" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:16.998011" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:16.997997" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.998981" 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-08-18T20:14:16.998617" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:16.999718" 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-08-18T20:14:16.999156" 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-08-18T20:14:16.999913" elapsed="0.000178"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-08-18T20:14:16.997967" elapsed="0.002160"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.000532" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.000303" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.000288" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.001302" 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-08-18T20:14:17.000924" elapsed="0.000404"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.002062" 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-08-18T20:14:17.001478" 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-08-18T20:14:17.002240" elapsed="0.000179"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-08-18T20:14:17.000259" elapsed="0.002196"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.002871" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.002628" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.002613" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.003590" 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-08-18T20:14:17.003248" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.004343" 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-08-18T20:14:17.003776" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.004520" elapsed="0.000178"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-08-18T20:14:17.002585" elapsed="0.002150"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.005172" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.004927" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.004911" elapsed="0.000535"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.005951" 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-08-18T20:14:17.005586" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.006697" 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-08-18T20:14:17.006129" elapsed="0.000596"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.006934" elapsed="0.000182"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-08-18T20:14:17.004882" 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-08-18T20:14:17.007560" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.007330" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.007315" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.008298" 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-08-18T20:14:17.007954" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.009077" 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-08-18T20:14:17.008474" 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-08-18T20:14:17.009256" elapsed="0.000177"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-08-18T20:14:17.007286" elapsed="0.002184"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.009891" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.009645" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.009631" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.010613" 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-08-18T20:14:17.010271" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.011370" 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-08-18T20:14:17.010803" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.011548" elapsed="0.000178"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-08-18T20:14:17.009601" elapsed="0.002178"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.012298" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.012068" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.012053" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.013066" 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-08-18T20:14:17.012680" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.013825" 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-08-18T20:14:17.013242" 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-08-18T20:14:17.014004" elapsed="0.000180"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-08-18T20:14:17.012023" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.014629" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.014397" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.014383" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.015366" 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-08-18T20:14:17.015022" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.016124" 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-08-18T20:14:17.015542" 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-08-18T20:14:17.016302" elapsed="0.000178"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-08-18T20:14:17.014353" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.016972" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.016727" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.016712" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.017708" 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-08-18T20:14:17.017365" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.018465" 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-08-18T20:14:17.017900" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.018644" elapsed="0.000195"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-08-18T20:14:17.016683" elapsed="0.002193"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.019281" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.019050" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.019036" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.020038" 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-08-18T20:14:17.019658" elapsed="0.000406"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.020791" 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-08-18T20:14:17.020214" 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-08-18T20:14:17.020970" elapsed="0.000196"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-08-18T20:14:17.019007" elapsed="0.002196"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.021610" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.021381" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.021366" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.022341" 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-08-18T20:14:17.022000" elapsed="0.000366"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.023111" 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-08-18T20:14:17.022515" 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-08-18T20:14:17.023289" elapsed="0.000177"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-08-18T20:14:17.021337" elapsed="0.002166"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.023924" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.023677" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.023663" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.024647" 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-08-18T20:14:17.024304" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.025429" 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-08-18T20:14:17.024836" 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-08-18T20:14:17.025609" elapsed="0.000199"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-08-18T20:14:17.023634" 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-08-18T20:14:17.026252" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.026022" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.026007" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.026993" 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-08-18T20:14:17.026633" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.027736" 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-08-18T20:14:17.027168" 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-08-18T20:14:17.027963" elapsed="0.000181"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-08-18T20:14:17.025978" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.028696" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.028466" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.028451" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.029453" 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-08-18T20:14:17.029107" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.030215" 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-08-18T20:14:17.029629" 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-08-18T20:14:17.030393" elapsed="0.000178"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-08-18T20:14:17.028422" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.031033" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.030803" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.030788" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.031769" 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-08-18T20:14:17.031408" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.032515" 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-08-18T20:14:17.031951" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.032692" elapsed="0.000194"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-08-18T20:14:17.030739" elapsed="0.002184"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.033346" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.033116" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.033098" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.034080" 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-08-18T20:14:17.033722" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.034837" 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-08-18T20:14:17.034255" 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-08-18T20:14:17.035016" elapsed="0.000178"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-08-18T20:14:17.033069" elapsed="0.002161"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.035633" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.035404" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.035390" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.036368" 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-08-18T20:14:17.036027" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.037147" 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-08-18T20:14:17.036543" 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-08-18T20:14:17.037327" elapsed="0.000179"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-08-18T20:14:17.035361" elapsed="0.002181"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.037968" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.037722" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.037707" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.038688" 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-08-18T20:14:17.038346" elapsed="0.000415"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.039486" 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-08-18T20:14:17.038916" 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-08-18T20:14:17.039666" elapsed="0.000195"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-08-18T20:14:17.037678" 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-08-18T20:14:17.040303" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.040074" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.040060" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.041067" 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-08-18T20:14:17.040681" elapsed="0.000417"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.041838" 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-08-18T20:14:17.041250" 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-08-18T20:14:17.042017" elapsed="0.000178"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-08-18T20:14:17.040031" elapsed="0.002200"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.042636" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.042408" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.042393" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.043375" 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-08-18T20:14:17.043032" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.044131" 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-08-18T20:14:17.043549" 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-08-18T20:14:17.044310" elapsed="0.000178"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-08-18T20:14:17.042364" elapsed="0.002161"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.045074" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.044830" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.044815" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.045815" 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-08-18T20:14:17.045455" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.046557" 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-08-18T20:14:17.045990" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.046735" elapsed="0.000197"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-08-18T20:14:17.044784" elapsed="0.002185"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.047375" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.047145" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.047131" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.048112" 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-08-18T20:14:17.047768" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.048868" 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-08-18T20:14:17.048286" 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-08-18T20:14:17.049076" elapsed="0.000182"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-08-18T20:14:17.047102" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.049736" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.049471" elapsed="0.000499"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.049456" elapsed="0.000538"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.050474" 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-08-18T20:14:17.050131" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.051238" 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-08-18T20:14:17.050654" 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-08-18T20:14:17.051415" elapsed="0.000179"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-08-18T20:14:17.049427" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.052053" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.051823" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.051808" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.052791" 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-08-18T20:14:17.052429" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.053551" 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-08-18T20:14:17.052979" 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-08-18T20:14:17.053729" elapsed="0.000197"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-08-18T20:14:17.051778" elapsed="0.002184"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.054367" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.054138" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.054123" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.055103" 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-08-18T20:14:17.054758" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.055856" 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-08-18T20:14:17.055277" 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-08-18T20:14:17.056033" elapsed="0.000178"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-08-18T20:14:17.054094" elapsed="0.002154"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.056657" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.056423" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.056409" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.057408" 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-08-18T20:14:17.057064" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.058167" 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-08-18T20:14:17.057583" 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-08-18T20:14:17.058344" elapsed="0.000177"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-08-18T20:14:17.056380" elapsed="0.002179"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.058982" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.058736" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.058720" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.059702" 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-08-18T20:14:17.059361" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.060466" 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-08-18T20:14:17.059895" 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-08-18T20:14:17.060676" elapsed="0.000197"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-08-18T20:14:17.058691" 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-08-18T20:14:17.061452" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.061219" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.061204" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.062194" 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-08-18T20:14:17.061847" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.062953" 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-08-18T20:14:17.062371" 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-08-18T20:14:17.063133" elapsed="0.000178"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-08-18T20:14:17.061174" elapsed="0.002173"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.063771" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.063522" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.063508" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.064494" 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-08-18T20:14:17.064150" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.065280" 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-08-18T20:14:17.064669" 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-08-18T20:14:17.065460" elapsed="0.000178"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-08-18T20:14:17.063479" elapsed="0.002196"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.066100" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.065869" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.065854" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.066838" 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-08-18T20:14:17.066477" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.067579" 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-08-18T20:14:17.067013" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.067774" elapsed="0.000180"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-08-18T20:14:17.065823" elapsed="0.002167"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.068395" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.068166" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.068151" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.069150" 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-08-18T20:14:17.068788" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.069914" 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-08-18T20:14:17.069325" 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-08-18T20:14:17.070092" elapsed="0.000180"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-08-18T20:14:17.068122" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.070714" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.070485" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.070470" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.071458" 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-08-18T20:14:17.071112" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.072266" 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-08-18T20:14:17.071672" 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-08-18T20:14:17.072446" elapsed="0.000181"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-08-18T20:14:17.070441" 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-08-18T20:14:17.073115" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.072858" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.072843" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.073858" 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-08-18T20:14:17.073497" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.074602" 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-08-18T20:14:17.074033" 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-08-18T20:14:17.074795" elapsed="0.000180"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-08-18T20:14:17.072814" elapsed="0.002198"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.075419" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.075190" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.075176" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.076163" 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-08-18T20:14:17.075815" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.076924" 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-08-18T20:14:17.076337" 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-08-18T20:14:17.077117" elapsed="0.000178"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-08-18T20:14:17.075147" elapsed="0.002185"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.077866" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.077620" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.077606" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.078590" 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-08-18T20:14:17.078247" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.079352" 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-08-18T20:14:17.078781" 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-08-18T20:14:17.079530" elapsed="0.000179"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-08-18T20:14:17.077575" elapsed="0.002185"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.080173" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.079941" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.079926" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.080916" 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-08-18T20:14:17.080553" elapsed="0.000423"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.081697" 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-08-18T20:14:17.081131" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.081892" elapsed="0.000180"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-08-18T20:14:17.079897" 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-08-18T20:14:17.082513" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.082284" elapsed="0.000489"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.082270" elapsed="0.000531"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.083287" 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-08-18T20:14:17.082941" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.084048" 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-08-18T20:14:17.083461" 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-08-18T20:14:17.084228" elapsed="0.000177"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-08-18T20:14:17.082241" elapsed="0.002200"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.084864" elapsed="0.000214"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.084616" elapsed="0.000500"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.084602" elapsed="0.000539"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.085626" 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-08-18T20:14:17.085279" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.086385" 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-08-18T20:14:17.085817" 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-08-18T20:14:17.086565" elapsed="0.000192"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-08-18T20:14:17.084572" 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-08-18T20:14:17.087200" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.086971" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.086956" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.087933" 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-08-18T20:14:17.087575" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.088671" 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-08-18T20:14:17.088107" elapsed="0.000748"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.089019" elapsed="0.000179"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-08-18T20:14:17.086927" 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-08-18T20:14:17.089639" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.089409" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.089394" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.090378" 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-08-18T20:14:17.090033" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.091137" 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-08-18T20:14:17.090554" 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-08-18T20:14:17.091315" elapsed="0.000178"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-08-18T20:14:17.089365" elapsed="0.002164"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.091952" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.091704" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.091690" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.092671" 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-08-18T20:14:17.092331" elapsed="0.000366"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.093444" 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-08-18T20:14:17.092862" 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-08-18T20:14:17.093621" elapsed="0.000193"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-08-18T20:14:17.091661" 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-08-18T20:14:17.094773" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.094526" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.094512" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.095505" 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-08-18T20:14:17.095157" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.096274" 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-08-18T20:14:17.095681" 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-08-18T20:14:17.096454" elapsed="0.000179"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-08-18T20:14:17.094481" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.097134" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.096870" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.096855" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.097883" 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-08-18T20:14:17.097520" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.098631" 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-08-18T20:14:17.098061" 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-08-18T20:14:17.098826" elapsed="0.000183"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-08-18T20:14:17.096825" 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-08-18T20:14:17.099454" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.099223" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.099208" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.100190" 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-08-18T20:14:17.099846" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.100957" 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-08-18T20:14:17.100366" 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-08-18T20:14:17.101149" elapsed="0.000178"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-08-18T20:14:17.099178" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.101782" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.101539" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.101525" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.102504" 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-08-18T20:14:17.102161" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.103263" 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-08-18T20:14:17.102679" 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-08-18T20:14:17.103442" elapsed="0.000179"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-08-18T20:14:17.101496" elapsed="0.002161"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.104078" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.103849" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.103835" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.104813" 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-08-18T20:14:17.104454" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.105569" 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-08-18T20:14:17.105005" 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-08-18T20:14:17.105798" elapsed="0.000181"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-08-18T20:14:17.103805" 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-08-18T20:14:17.106423" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.106191" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.106176" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.107166" 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-08-18T20:14:17.106820" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.107928" 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-08-18T20:14:17.107343" 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-08-18T20:14:17.108107" elapsed="0.000179"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-08-18T20:14:17.106148" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.108728" elapsed="0.000224"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.108498" elapsed="0.000493"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.108484" elapsed="0.000531"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.109498" 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-08-18T20:14:17.109153" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.110261" 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-08-18T20:14:17.109674" 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-08-18T20:14:17.110438" elapsed="0.000178"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-08-18T20:14:17.108455" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.111192" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.110960" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.110945" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.111933" 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-08-18T20:14:17.111572" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.112678" 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-08-18T20:14:17.112111" elapsed="0.000596"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.112873" elapsed="0.000193"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-08-18T20:14:17.110915" elapsed="0.002188"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.113514" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.113283" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.113269" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.114254" 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-08-18T20:14:17.113908" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.115021" 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-08-18T20:14:17.114431" 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-08-18T20:14:17.115199" elapsed="0.000179"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-08-18T20:14:17.113240" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.115836" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.115591" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.115576" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.116584" 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-08-18T20:14:17.116215" elapsed="0.000427"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.117398" 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-08-18T20:14:17.116812" 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-08-18T20:14:17.117576" elapsed="0.000195"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-08-18T20:14:17.115547" 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-08-18T20:14:17.118213" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.117984" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.117969" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.118953" 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-08-18T20:14:17.118590" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.119771" 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-08-18T20:14:17.119186" 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-08-18T20:14:17.119952" elapsed="0.000180"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-08-18T20:14:17.117940" 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-08-18T20:14:17.120573" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.120344" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.120329" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.121337" 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-08-18T20:14:17.120992" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.122097" 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-08-18T20:14:17.121512" 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-08-18T20:14:17.122275" elapsed="0.000176"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-08-18T20:14:17.120300" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.122907" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.122661" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.122647" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.123626" 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-08-18T20:14:17.123285" elapsed="0.000366"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.124386" 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-08-18T20:14:17.123814" 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-08-18T20:14:17.124564" elapsed="0.000192"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-08-18T20:14:17.122619" elapsed="0.002176"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.125214" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.124985" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.124970" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.125948" 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-08-18T20:14:17.125591" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.126682" 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-08-18T20:14:17.126121" elapsed="0.000589"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.126875" elapsed="0.000179"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-08-18T20:14:17.124940" elapsed="0.002151"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.127659" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.127392" elapsed="0.000506"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.127377" elapsed="0.000545"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.128407" 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-08-18T20:14:17.128061" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.129195" 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-08-18T20:14:17.128584" 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-08-18T20:14:17.129374" elapsed="0.000180"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-08-18T20:14:17.127348" 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-08-18T20:14:17.130023" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.129791" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.129774" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.130757" 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-08-18T20:14:17.130400" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.131500" 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-08-18T20:14:17.130935" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.131679" elapsed="0.000197"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-08-18T20:14:17.129725" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.132318" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.132088" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.132074" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.133082" 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-08-18T20:14:17.132695" elapsed="0.000413"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.133847" 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-08-18T20:14:17.133263" 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-08-18T20:14:17.134027" elapsed="0.000177"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-08-18T20:14:17.132045" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.134642" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.134415" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.134400" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.135381" 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-08-18T20:14:17.135038" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.136137" 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-08-18T20:14:17.135556" 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-08-18T20:14:17.136314" elapsed="0.000178"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-08-18T20:14:17.134371" elapsed="0.002158"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.136961" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.136703" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.136689" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.137683" 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-08-18T20:14:17.137341" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.138439" 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-08-18T20:14:17.137875" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.138651" elapsed="0.000199"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-08-18T20:14:17.136660" elapsed="0.002227"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.139295" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.139064" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.139049" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.140037" 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-08-18T20:14:17.139674" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.140805" 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-08-18T20:14:17.140213" 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-08-18T20:14:17.140999" elapsed="0.000179"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-08-18T20:14:17.139020" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.141622" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.141392" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.141378" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.142358" 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-08-18T20:14:17.142015" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.143114" 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-08-18T20:14:17.142533" 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-08-18T20:14:17.143293" elapsed="0.000178"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-08-18T20:14:17.141348" elapsed="0.002159"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.144041" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.143809" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.143794" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.144780" 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-08-18T20:14:17.144421" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.145566" 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-08-18T20:14:17.144993" 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-08-18T20:14:17.145760" elapsed="0.000182"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-08-18T20:14:17.143762" 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-08-18T20:14:17.146385" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.146154" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.146139" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.147122" 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-08-18T20:14:17.146774" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.147882" 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-08-18T20:14:17.147297" 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-08-18T20:14:17.148060" elapsed="0.000178"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-08-18T20:14:17.146110" elapsed="0.002164"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.148689" elapsed="0.000210"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.148458" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.148442" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.149446" 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-08-18T20:14:17.149102" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.150245" 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-08-18T20:14:17.149655" 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-08-18T20:14:17.150426" elapsed="0.000180"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-08-18T20:14:17.148407" 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-08-18T20:14:17.151068" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.150837" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.150822" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.151805" 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-08-18T20:14:17.151445" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.152546" 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-08-18T20:14:17.151980" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.152724" elapsed="0.000221"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-08-18T20:14:17.150792" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.153430" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.153197" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.153183" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.154167" 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-08-18T20:14:17.153822" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.154924" 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-08-18T20:14:17.154342" 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-08-18T20:14:17.155101" elapsed="0.000177"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-08-18T20:14:17.153149" elapsed="0.002165"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.155722" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.155492" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.155477" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.156458" 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-08-18T20:14:17.156115" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.157253" 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-08-18T20:14:17.156633" 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-08-18T20:14:17.157429" elapsed="0.000178"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-08-18T20:14:17.155448" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.158066" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.157837" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.157822" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.158804" 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-08-18T20:14:17.158445" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.159545" 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-08-18T20:14:17.158978" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.159721" elapsed="0.000193"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-08-18T20:14:17.157792" elapsed="0.002160"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.160471" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.160239" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.160224" elapsed="0.000540"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.161278" 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-08-18T20:14:17.160925" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.162037" 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-08-18T20:14:17.161454" 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-08-18T20:14:17.162216" elapsed="0.000178"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-08-18T20:14:17.160194" 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-08-18T20:14:17.162855" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.162605" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.162590" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.163577" 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-08-18T20:14:17.163234" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.164337" 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-08-18T20:14:17.163769" 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-08-18T20:14:17.164515" elapsed="0.000178"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-08-18T20:14:17.162562" elapsed="0.002167"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.165175" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.164943" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.164925" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.165912" 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-08-18T20:14:17.165552" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.166655" 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-08-18T20:14:17.166088" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.166848" elapsed="0.000180"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-08-18T20:14:17.164894" elapsed="0.002170"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.167481" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.167238" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.167224" elapsed="0.000495"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.168215" 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-08-18T20:14:17.167871" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.169003" 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-08-18T20:14:17.168389" 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-08-18T20:14:17.169183" elapsed="0.000178"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-08-18T20:14:17.167195" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.169819" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.169572" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.169557" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.170538" 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-08-18T20:14:17.170197" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.171291" 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-08-18T20:14:17.170713" 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-08-18T20:14:17.171467" elapsed="0.000177"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-08-18T20:14:17.169529" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.172137" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.171906" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.171892" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.172889" 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-08-18T20:14:17.172511" elapsed="0.000406"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.173634" 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-08-18T20:14:17.173067" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.173829" elapsed="0.000178"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-08-18T20:14:17.171862" elapsed="0.002182"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.174447" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.174218" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.174204" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.175183" 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-08-18T20:14:17.174838" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.176028" 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-08-18T20:14:17.175358" elapsed="0.000699"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.176209" elapsed="0.000178"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-08-18T20:14:17.174175" 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-08-18T20:14:17.176977" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.176708" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.176694" elapsed="0.000529"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.177708" 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-08-18T20:14:17.177362" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.178472" 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-08-18T20:14:17.177902" 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-08-18T20:14:17.178650" elapsed="0.000196"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-08-18T20:14:17.176665" elapsed="0.002219"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-08-18T20:14:16.943230" elapsed="0.235685"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.180166" 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-08-18T20:14:17.179064" elapsed="0.001130"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.180252" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:14:17.180406" 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-08-18T20:14:16.890144" elapsed="0.290288"/>
</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-08-18T20:14:17.181786" 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-08-18T20:14:17.181518" elapsed="0.000335">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-08-18T20:14:17.181980" 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-08-18T20:14:17.181183" elapsed="0.000821"/>
</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-08-18T20:14:17.182315" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.182074" elapsed="0.000298"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.182874" 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-08-18T20:14:17.182572" elapsed="0.000328"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.182396" elapsed="0.000539"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.182056" elapsed="0.000900"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.185284" 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-08-18T20:14:17.183103" elapsed="0.002208"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:14:17.185362" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:17.185513" 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-08-18T20:14:17.180779" elapsed="0.004759"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.187093" 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-08-18T20:14:17.186847" elapsed="0.000290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.187518" 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-08-18T20:14:17.187286" elapsed="0.000733"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.188411" 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-08-18T20:14:17.188169" elapsed="0.000285"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.188881" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:17.188599" elapsed="0.000330"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:17.189718" 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-08-18T20:14:17.189517" elapsed="0.000242"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-08-18T20:14:17.190078" 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-08-18T20:14:17.189909" elapsed="0.000194"/>
</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-08-18T20:14:17.190248" elapsed="0.000183"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.190837" 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-08-18T20:14:17.190580" elapsed="0.000300"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-08-18T20:14:17.190921" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:17.191073" 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-08-18T20:14:17.189125" elapsed="0.001973"/>
</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-08-18T20:14:17.238028" level="INFO">POST Request : url=http://10.30.171.138: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-08-18T20:14:17.238185" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 status=201, reason=Created 
 headers={'Set-Cookie': 'JSESSIONID=node0p2trgfj4i38snmsu52haijd10.node0; Path=/rests; HttpOnly, rememberMe=deleteMe; Path=/rests; Max-Age=0; Expires=Mon, 17-Aug-2026 20:14:17 GMT; SameSite=lax', 'Expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'Location': 'http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:group=5000', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:17.238381" 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-08-18T20:14:17.193291" elapsed="0.045118"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.191165" elapsed="0.047290"/>
</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-08-18T20:14:17.238631" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.238481" elapsed="0.000217"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.191149" elapsed="0.047570"/>
</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-08-18T20:14:17.242019" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:17.239813" elapsed="0.002249"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.239576" elapsed="0.002520"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.239558" elapsed="0.002564"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.244529" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:17.242392" elapsed="0.002182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.242177" elapsed="0.002432"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.242160" elapsed="0.002473"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.245220" 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-08-18T20:14:17.244830" elapsed="0.000417"/>
</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-08-18T20:14:17.245558" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.245315" elapsed="0.000300"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.246121" 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-08-18T20:14:17.245823" elapsed="0.000326"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.245639" elapsed="0.000545"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.245298" elapsed="0.000907"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.246736" 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-08-18T20:14:17.246371" elapsed="0.000406"/>
</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-08-18T20:14:17.247089" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.246848" elapsed="0.000298"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.247630" 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-08-18T20:14:17.247338" elapsed="0.000319"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.247170" elapsed="0.000521"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.246830" elapsed="0.000883"/>
</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-08-18T20:14:17.247872" elapsed="0.000342"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-08-18T20:14:17.248783" 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-08-18T20:14:17.248373" elapsed="0.000438"/>
</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-08-18T20:14:17.248963" elapsed="0.002151"/>
</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-08-18T20:14:17.239141" elapsed="0.012035"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:17.251352" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:17.251248" elapsed="0.000149"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.251229" elapsed="0.000190"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-08-18T20:14:17.253794" 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-08-18T20:14:17.251559" elapsed="0.002262"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-08-18T20:14:17.253869" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:17.254023" 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-08-18T20:14:17.185875" elapsed="0.068172"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.254150" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:17.254301" 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-08-18T20:14:16.804239" elapsed="0.450087"/>
</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-08-18T20:14:17.254660" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.254429" elapsed="0.000298"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.254412" elapsed="0.000353"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.254799" 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-08-18T20:14:16.801774" elapsed="0.453170"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-08-18T20:14:16.790544" elapsed="0.464444"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.255610" 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-08-18T20:14:17.255218" elapsed="0.000419"/>
</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-08-18T20:14:17.296106" 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-08-18T20:14:17.295723" elapsed="0.000411"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.296866" 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-08-18T20:14:17.296619" elapsed="0.000312">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-08-18T20:14:17.297024" 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-08-18T20:14:17.296292" elapsed="0.000756"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.297582" 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-08-18T20:14:17.297206" elapsed="0.000403"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.297911" 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-08-18T20:14:17.298044" 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-08-18T20:14:17.297778" elapsed="0.000291"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.298458" 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-08-18T20:14:17.298220" elapsed="0.000282"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.299436" 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-08-18T20:14:17.299182" elapsed="0.000297"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.299908" 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-08-18T20:14:17.299636" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.300599" 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-08-18T20:14:17.300271" elapsed="0.000353"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-08-18T20:14:17.301605" 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-08-18T20:14:17.301185" elapsed="0.000446"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-08-18T20:14:17.301716" elapsed="0.000046"/>
</return>
<msg time="2026-08-18T20:14:17.301889" 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-08-18T20:14:17.300856" elapsed="0.001057"/>
</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-08-18T20:14:17.302061" elapsed="0.000262"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:2</var>
<status status="PASS" start="2026-08-18T20:14:17.300143" elapsed="0.002221"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-08-18T20:14:17.299981" elapsed="0.002419"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:14:17.302443" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:17.302596" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:14:17.298866" elapsed="0.003754"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.298567" elapsed="0.004084"/>
</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-08-18T20:14:17.302840" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.302675" elapsed="0.000221"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.298549" elapsed="0.004368"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.303617" 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-08-18T20:14:17.303054" elapsed="0.000591"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.303694" 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-08-18T20:14:17.295118" elapsed="0.008718"/>
</kw>
<msg time="2026-08-18T20:14:17.303889" 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-08-18T20:14:17.283293" elapsed="0.020651"/>
</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-08-18T20:14:17.315696" 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-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-08-18T20:14:17.327212" 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-08-18T20:14:17.338727" elapsed="0.000038"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:17.338930" 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-08-18T20:14:17.339101" 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-08-18T20:14:17.339456" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.339316" elapsed="0.000194"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:17.339301" elapsed="0.000232"/>
</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-08-18T20:14:17.339668" elapsed="0.000050"/>
</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-08-18T20:14:17.339900" 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-08-18T20:14:17.340065" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:14:17.339273" elapsed="0.000845"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:14:17.339175" elapsed="0.000970"/>
</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-08-18T20:14:17.340289" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:17.340364" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:14:17.340479" 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-08-18T20:14:17.279288" elapsed="0.061217"/>
</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-08-18T20:14:17.350793" elapsed="0.000332"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.363662" 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-08-18T20:14:17.363295" elapsed="0.000395"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.364390" 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-08-18T20:14:17.364187" elapsed="0.000266">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-08-18T20:14:17.364544" 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-08-18T20:14:17.363861" elapsed="0.000707"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.365136" 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-08-18T20:14:17.364756" elapsed="0.000407"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.365449" 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-08-18T20:14:17.365571" 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-08-18T20:14:17.365317" elapsed="0.000279"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.366000" 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-08-18T20:14:17.365761" elapsed="0.000282"/>
</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-08-18T20:14:17.366384" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.366107" elapsed="0.000334"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.366909" 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-08-18T20:14:17.366605" elapsed="0.000330"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.366465" elapsed="0.000505"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.366090" elapsed="0.000901"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.367548" 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-08-18T20:14:17.367130" elapsed="0.000446"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.367624" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:17.367790" 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-08-18T20:14:17.362683" elapsed="0.005133"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.380602" 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-08-18T20:14:17.380236" elapsed="0.000394"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.381356" 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-08-18T20:14:17.381152" elapsed="0.000266">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-08-18T20:14:17.381510" 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-08-18T20:14:17.380824" elapsed="0.000709"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.382090" 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-08-18T20:14:17.381697" elapsed="0.000420"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.382403" 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-08-18T20:14:17.382524" 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-08-18T20:14:17.382272" elapsed="0.000276"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.382955" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:17.382699" 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-08-18T20:14:17.383342" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.383064" elapsed="0.000335"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.383866" 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-08-18T20:14:17.383564" elapsed="0.000328"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.383423" elapsed="0.000503"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.383045" elapsed="0.000903"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.384502" 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-08-18T20:14:17.384089" elapsed="0.000439"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.384576" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:17.384789" 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-08-18T20:14:17.379617" elapsed="0.005199"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.397362" 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-08-18T20:14:17.396994" elapsed="0.000396"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.398086" 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-08-18T20:14:17.397885" elapsed="0.000263">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-08-18T20:14:17.398239" 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-08-18T20:14:17.397546" elapsed="0.000717"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.398809" 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-08-18T20:14:17.398420" elapsed="0.000416"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.399122" 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-08-18T20:14:17.399273" 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-08-18T20:14:17.398991" elapsed="0.000309"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.399688" 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-08-18T20:14:17.399450" elapsed="0.000284"/>
</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-08-18T20:14:17.400106" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.399816" elapsed="0.000348"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.400630" 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-08-18T20:14:17.400328" elapsed="0.000331"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.400187" elapsed="0.000507"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.399798" elapsed="0.000917"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.401441" 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-08-18T20:14:17.400877" elapsed="0.000592"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.401518" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:17.401670" 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-08-18T20:14:17.396409" elapsed="0.005287"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.402107" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:17.401870" elapsed="0.000262"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.402641" 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-08-18T20:14:17.402285" elapsed="0.000381"/>
</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-08-18T20:14:17.403282" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.403054" elapsed="0.000285"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.403040" elapsed="0.000322"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.403941" 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-08-18T20:14:17.403498" elapsed="0.000469"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.404739" 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-08-18T20:14:17.404119" 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-08-18T20:14:17.404938" elapsed="0.000183"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-08-18T20:14:17.403009" elapsed="0.002149"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.405726" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.405495" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.405480" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.406471" 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-08-18T20:14:17.406126" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.407232" 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-08-18T20:14:17.406646" 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-08-18T20:14:17.407410" elapsed="0.000180"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-08-18T20:14:17.405450" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.408085" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.407853" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.407838" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.408860" 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-08-18T20:14:17.408466" elapsed="0.000421"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.409604" 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-08-18T20:14:17.409038" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.409797" elapsed="0.000181"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-08-18T20:14:17.407808" elapsed="0.002206"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.410418" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.410188" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.410174" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.411162" 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-08-18T20:14:17.410814" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.411919" 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-08-18T20:14:17.411338" 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-08-18T20:14:17.412099" elapsed="0.000180"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-08-18T20:14:17.410145" elapsed="0.002170"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.412732" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.412488" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.412474" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.413471" 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-08-18T20:14:17.413128" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.414232" 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-08-18T20:14:17.413647" 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-08-18T20:14:17.414411" elapsed="0.000179"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-08-18T20:14:17.412445" elapsed="0.002181"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.415049" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.414819" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.414804" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.415786" 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-08-18T20:14:17.415428" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.416524" 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-08-18T20:14:17.415962" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.416718" elapsed="0.000195"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-08-18T20:14:17.414773" elapsed="0.002176"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.417352" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.417124" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.417109" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.418090" 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-08-18T20:14:17.417730" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.418847" 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-08-18T20:14:17.418264" 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-08-18T20:14:17.419059" elapsed="0.000181"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-08-18T20:14:17.417080" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.419683" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.419452" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.419437" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.420427" 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-08-18T20:14:17.420082" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.421224" 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-08-18T20:14:17.420625" 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-08-18T20:14:17.421404" elapsed="0.000179"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-08-18T20:14:17.419409" elapsed="0.002210"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.422154" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.421923" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.421909" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.422895" 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-08-18T20:14:17.422533" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.423637" 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-08-18T20:14:17.423071" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.423831" elapsed="0.000181"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-08-18T20:14:17.421879" elapsed="0.002170"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.424453" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.424223" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.424209" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.425208" 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-08-18T20:14:17.424859" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.425964" 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-08-18T20:14:17.425383" 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-08-18T20:14:17.426142" elapsed="0.000179"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-08-18T20:14:17.424180" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.426776" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.426531" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.426517" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.427498" 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-08-18T20:14:17.427155" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.428258" 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-08-18T20:14:17.427672" 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-08-18T20:14:17.428434" elapsed="0.000192"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-08-18T20:14:17.426488" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.429086" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.428857" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.428843" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.429823" 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-08-18T20:14:17.429463" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.430610" 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-08-18T20:14:17.430035" 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-08-18T20:14:17.430806" elapsed="0.000182"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-08-18T20:14:17.428814" 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-08-18T20:14:17.431430" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.431199" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.431185" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.432168" 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-08-18T20:14:17.431823" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.432957" 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-08-18T20:14:17.432344" 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-08-18T20:14:17.433136" elapsed="0.000178"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-08-18T20:14:17.431156" elapsed="0.002194"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.433766" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.433523" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.433509" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.434493" 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-08-18T20:14:17.434149" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.435257" 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-08-18T20:14:17.434668" 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-08-18T20:14:17.435434" elapsed="0.000178"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-08-18T20:14:17.433480" elapsed="0.002169"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.436070" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.435841" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.435826" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.436843" 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-08-18T20:14:17.436446" elapsed="0.000423"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.437589" 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-08-18T20:14:17.437019" 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-08-18T20:14:17.437783" elapsed="0.000180"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-08-18T20:14:17.435796" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.439086" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.438855" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.438840" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.439832" 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-08-18T20:14:17.439466" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.440592" 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-08-18T20:14:17.440009" 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-08-18T20:14:17.440787" elapsed="0.000183"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-08-18T20:14:17.438809" elapsed="0.002199"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.441415" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.441184" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.441169" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.442194" 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-08-18T20:14:17.441846" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.442953" 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-08-18T20:14:17.442370" 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-08-18T20:14:17.443196" elapsed="0.000182"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-08-18T20:14:17.441140" 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-08-18T20:14:17.443834" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.443588" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.443574" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.444557" 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-08-18T20:14:17.444213" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.445347" 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-08-18T20:14:17.444774" 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-08-18T20:14:17.445527" elapsed="0.000178"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-08-18T20:14:17.443545" elapsed="0.002210"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.446164" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.445934" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.445920" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.446908" 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-08-18T20:14:17.446542" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.447647" 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-08-18T20:14:17.447083" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.447841" elapsed="0.000180"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-08-18T20:14:17.445891" elapsed="0.002167"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.448463" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.448232" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.448218" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.449222" 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-08-18T20:14:17.448873" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.449984" 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-08-18T20:14:17.449399" 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-08-18T20:14:17.450163" elapsed="0.000179"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-08-18T20:14:17.448189" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.450800" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.450555" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.450540" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.451524" 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-08-18T20:14:17.451180" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.452286" 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-08-18T20:14:17.451700" 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-08-18T20:14:17.452464" elapsed="0.000196"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-08-18T20:14:17.450511" 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-08-18T20:14:17.453158" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.452925" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.452910" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.453902" 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-08-18T20:14:17.453536" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.454654" 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-08-18T20:14:17.454080" 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-08-18T20:14:17.454850" elapsed="0.000182"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-08-18T20:14:17.452880" elapsed="0.002190"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.455593" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.455360" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.455345" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.456341" 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-08-18T20:14:17.455994" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.457133" 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-08-18T20:14:17.456519" 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-08-18T20:14:17.457314" elapsed="0.000180"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-08-18T20:14:17.455315" 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-08-18T20:14:17.457955" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.457706" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.457691" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.458679" 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-08-18T20:14:17.458335" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.459438" 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-08-18T20:14:17.458871" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.459617" elapsed="0.000194"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-08-18T20:14:17.457662" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.460256" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.460025" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.460010" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.461011" 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-08-18T20:14:17.460647" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.461769" 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-08-18T20:14:17.461187" 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-08-18T20:14:17.461949" elapsed="0.000180"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-08-18T20:14:17.459981" elapsed="0.002184"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.462569" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.462339" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.462324" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.463307" 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-08-18T20:14:17.462961" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.464062" 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-08-18T20:14:17.463482" 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-08-18T20:14:17.464280" elapsed="0.000180"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-08-18T20:14:17.462295" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.464931" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.464681" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.464667" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.465655" 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-08-18T20:14:17.465311" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.466418" 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-08-18T20:14:17.465848" 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-08-18T20:14:17.466602" elapsed="0.000195"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-08-18T20:14:17.464637" elapsed="0.002198"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.467241" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.467011" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.466996" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.467978" 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-08-18T20:14:17.467618" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.468762" 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-08-18T20:14:17.468154" 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-08-18T20:14:17.468945" elapsed="0.000178"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-08-18T20:14:17.466967" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.469564" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.469335" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.469320" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.470323" 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-08-18T20:14:17.469980" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.471089" 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-08-18T20:14:17.470499" 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-08-18T20:14:17.471267" elapsed="0.000178"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-08-18T20:14:17.469292" elapsed="0.002190"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.472021" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.471788" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.471772" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.472774" 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-08-18T20:14:17.472397" elapsed="0.000404"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.473523" 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-08-18T20:14:17.472952" 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-08-18T20:14:17.473702" elapsed="0.000196"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-08-18T20:14:17.471727" elapsed="0.002209"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.474343" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.474111" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.474096" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.475083" 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-08-18T20:14:17.474722" elapsed="0.000419"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.475881" 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-08-18T20:14:17.475295" 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-08-18T20:14:17.476061" elapsed="0.000179"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-08-18T20:14:17.474068" 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-08-18T20:14:17.476695" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.476451" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.476436" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.477436" 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-08-18T20:14:17.477094" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.478195" 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-08-18T20:14:17.477610" 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-08-18T20:14:17.478374" elapsed="0.000179"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-08-18T20:14:17.476408" elapsed="0.002181"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.479013" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.478781" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.478765" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.479735" 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-08-18T20:14:17.479391" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.480494" 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-08-18T20:14:17.479927" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.480701" elapsed="0.000200"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-08-18T20:14:17.478721" 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-08-18T20:14:17.481345" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.481116" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.481101" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.482083" 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-08-18T20:14:17.481722" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.482836" 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-08-18T20:14:17.482257" 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-08-18T20:14:17.483013" elapsed="0.000178"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-08-18T20:14:17.481072" 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-08-18T20:14:17.483630" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.483403" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.483389" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.484364" 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-08-18T20:14:17.484023" elapsed="0.000366"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.485134" 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-08-18T20:14:17.484547" 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-08-18T20:14:17.485312" elapsed="0.000177"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-08-18T20:14:17.483360" elapsed="0.002166"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.485993" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.485705" elapsed="0.000511"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.485689" elapsed="0.000552"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.486730" 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-08-18T20:14:17.486382" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.487494" 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-08-18T20:14:17.486925" 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-08-18T20:14:17.487673" elapsed="0.000197"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-08-18T20:14:17.485659" 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-08-18T20:14:17.488431" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.488198" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.488183" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.489192" 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-08-18T20:14:17.488845" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.489957" 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-08-18T20:14:17.489370" 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-08-18T20:14:17.490137" elapsed="0.000179"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-08-18T20:14:17.488153" elapsed="0.002200"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.490772" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.490529" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.490515" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.491492" 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-08-18T20:14:17.491151" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.492246" 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-08-18T20:14:17.491665" 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-08-18T20:14:17.492425" elapsed="0.000205"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-08-18T20:14:17.490485" elapsed="0.002182"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.493090" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.492860" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.492846" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.493829" 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-08-18T20:14:17.493466" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.494569" 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-08-18T20:14:17.494004" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.494759" elapsed="0.000183"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-08-18T20:14:17.492816" elapsed="0.002162"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.495386" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.495154" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.495139" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.496129" 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-08-18T20:14:17.495783" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.496900" 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-08-18T20:14:17.496304" 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-08-18T20:14:17.497114" elapsed="0.000182"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-08-18T20:14:17.495110" 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-08-18T20:14:17.497741" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.497509" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.497494" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.498480" 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-08-18T20:14:17.498135" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.499243" 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-08-18T20:14:17.498656" 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-08-18T20:14:17.499422" elapsed="0.000178"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-08-18T20:14:17.497465" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.500061" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.499829" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.499814" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.500812" 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-08-18T20:14:17.500440" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.501561" 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-08-18T20:14:17.500989" 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-08-18T20:14:17.501741" elapsed="0.000200"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-08-18T20:14:17.499784" elapsed="0.002194"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.502383" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.502154" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.502139" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.503121" 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-08-18T20:14:17.502776" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.503881" 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-08-18T20:14:17.503296" 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-08-18T20:14:17.504058" elapsed="0.000178"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-08-18T20:14:17.502110" elapsed="0.002163"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.504841" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.504587" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.504570" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.505566" 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-08-18T20:14:17.505223" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.506327" 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-08-18T20:14:17.505755" 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-08-18T20:14:17.506506" elapsed="0.000179"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-08-18T20:14:17.504539" elapsed="0.002182"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.507146" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.506912" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.506897" elapsed="0.000491"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.507890" 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-08-18T20:14:17.507527" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.508682" 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-08-18T20:14:17.508100" 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-08-18T20:14:17.508880" elapsed="0.000180"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-08-18T20:14:17.506868" 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-08-18T20:14:17.509517" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.509269" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.509255" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.510260" 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-08-18T20:14:17.509914" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.511015" 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-08-18T20:14:17.510436" 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-08-18T20:14:17.511195" elapsed="0.000178"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-08-18T20:14:17.509226" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.511825" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.511582" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.511567" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.512558" 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-08-18T20:14:17.512203" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.513318" 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-08-18T20:14:17.512740" 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-08-18T20:14:17.513497" elapsed="0.000177"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-08-18T20:14:17.511538" elapsed="0.002172"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.514131" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.513900" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.513885" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.514873" 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-08-18T20:14:17.514508" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.515615" 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-08-18T20:14:17.515051" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.515808" elapsed="0.000179"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-08-18T20:14:17.513855" elapsed="0.002169"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.516425" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.516196" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.516181" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.517190" 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-08-18T20:14:17.516845" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.517948" 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-08-18T20:14:17.517366" 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-08-18T20:14:17.518125" elapsed="0.000179"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-08-18T20:14:17.516153" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.518755" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.518513" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.518498" elapsed="0.000535"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.519520" 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-08-18T20:14:17.519173" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.520283" 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-08-18T20:14:17.519696" 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-08-18T20:14:17.520463" elapsed="0.000195"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-08-18T20:14:17.518470" 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-08-18T20:14:17.521232" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.520997" elapsed="0.000454"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.520982" elapsed="0.000493"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.521978" 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-08-18T20:14:17.521615" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.522721" 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-08-18T20:14:17.522155" 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-08-18T20:14:17.522915" elapsed="0.000179"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-08-18T20:14:17.520953" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.523534" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.523305" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.523290" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.524272" 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-08-18T20:14:17.523928" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.525035" 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-08-18T20:14:17.524446" 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-08-18T20:14:17.525213" elapsed="0.000177"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-08-18T20:14:17.523262" elapsed="0.002164"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.525843" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.525599" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.525585" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.526561" 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-08-18T20:14:17.526220" elapsed="0.000366"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.527318" 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-08-18T20:14:17.526734" 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-08-18T20:14:17.527496" elapsed="0.000177"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-08-18T20:14:17.525556" elapsed="0.002153"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.528129" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.527900" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.527886" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.528920" 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-08-18T20:14:17.528553" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.529662" 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-08-18T20:14:17.529096" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.529854" elapsed="0.000180"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-08-18T20:14:17.527857" 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-08-18T20:14:17.530511" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.530282" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.530267" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.531252" 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-08-18T20:14:17.530907" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.532022" 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-08-18T20:14:17.531428" elapsed="0.001129"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.533179" elapsed="0.000237"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-08-18T20:14:17.530237" elapsed="0.003217"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.533912" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.533658" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.533643" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.534659" 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-08-18T20:14:17.534291" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.535433" 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-08-18T20:14:17.534854" 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-08-18T20:14:17.535612" elapsed="0.000204"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-08-18T20:14:17.533613" 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-08-18T20:14:17.536261" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.536031" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.536015" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.537016" 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-08-18T20:14:17.536655" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.537780" 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-08-18T20:14:17.537193" 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-08-18T20:14:17.537959" elapsed="0.000178"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-08-18T20:14:17.535986" elapsed="0.002188"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.538694" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.538463" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.538448" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.539436" 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-08-18T20:14:17.539091" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.540196" 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-08-18T20:14:17.539611" 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-08-18T20:14:17.540375" elapsed="0.000207"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-08-18T20:14:17.538418" elapsed="0.002201"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.541050" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.540818" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.540803" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.541786" 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-08-18T20:14:17.541425" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.542532" 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-08-18T20:14:17.541964" 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-08-18T20:14:17.542798" elapsed="0.000180"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-08-18T20:14:17.540772" 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-08-18T20:14:17.543419" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.543190" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.543175" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.544153" 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-08-18T20:14:17.543810" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.544929" 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-08-18T20:14:17.544328" 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-08-18T20:14:17.545109" elapsed="0.000179"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-08-18T20:14:17.543146" elapsed="0.002178"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.545735" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.545501" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.545487" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.546470" 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-08-18T20:14:17.546127" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.547227" 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-08-18T20:14:17.546645" 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-08-18T20:14:17.547404" elapsed="0.000177"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-08-18T20:14:17.545458" elapsed="0.002159"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.548040" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.547811" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.547796" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.548789" 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-08-18T20:14:17.548414" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.549535" 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-08-18T20:14:17.548963" 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-08-18T20:14:17.549717" elapsed="0.000194"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-08-18T20:14:17.547765" elapsed="0.002182"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.550351" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.550122" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.550107" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.551081" 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-08-18T20:14:17.550724" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.551838" 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-08-18T20:14:17.551256" 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-08-18T20:14:17.552014" elapsed="0.000177"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-08-18T20:14:17.550078" elapsed="0.002151"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.552657" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.552403" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.552389" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.553393" 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-08-18T20:14:17.553050" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.554190" 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-08-18T20:14:17.553604" 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-08-18T20:14:17.554370" elapsed="0.000179"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-08-18T20:14:17.552359" elapsed="0.002227"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.555121" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.554891" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.554876" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.555864" 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-08-18T20:14:17.555503" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.556618" 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-08-18T20:14:17.556042" 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-08-18T20:14:17.556813" elapsed="0.000181"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-08-18T20:14:17.554845" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.557438" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.557208" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.557193" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.558173" 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-08-18T20:14:17.557830" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.558935" 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-08-18T20:14:17.558348" 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-08-18T20:14:17.559113" elapsed="0.000178"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-08-18T20:14:17.557164" elapsed="0.002163"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.559731" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.559503" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.559488" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.560475" 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-08-18T20:14:17.560122" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.561236" 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-08-18T20:14:17.560650" 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-08-18T20:14:17.561415" elapsed="0.000182"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-08-18T20:14:17.559459" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.562055" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.561826" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.561811" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.562787" 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-08-18T20:14:17.562431" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.563526" 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-08-18T20:14:17.562963" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.563703" elapsed="0.000194"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-08-18T20:14:17.561781" elapsed="0.002152"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.564379" elapsed="0.000208"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.564111" elapsed="0.000520"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.564095" elapsed="0.000560"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.565160" 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-08-18T20:14:17.564810" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.565919" 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-08-18T20:14:17.565338" 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-08-18T20:14:17.566098" elapsed="0.000180"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-08-18T20:14:17.564065" 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-08-18T20:14:17.566717" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.566489" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.566474" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.567459" 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-08-18T20:14:17.567117" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.568222" 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-08-18T20:14:17.567636" 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-08-18T20:14:17.568400" elapsed="0.000191"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-08-18T20:14:17.566446" elapsed="0.002181"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.569050" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.568819" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.568804" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.569786" 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-08-18T20:14:17.569427" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.570530" 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-08-18T20:14:17.569963" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.570706" elapsed="0.000195"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-08-18T20:14:17.568774" elapsed="0.002163"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.571454" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.571223" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.571208" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.572191" 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-08-18T20:14:17.571846" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.572962" 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-08-18T20:14:17.572367" 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-08-18T20:14:17.573139" elapsed="0.000178"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-08-18T20:14:17.571179" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.573769" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.573526" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.573511" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.574492" 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-08-18T20:14:17.574147" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.575249" 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-08-18T20:14:17.574667" 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-08-18T20:14:17.575460" elapsed="0.000181"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-08-18T20:14:17.573483" elapsed="0.002194"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.576100" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.575870" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.575855" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.576867" 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-08-18T20:14:17.576505" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.577611" 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-08-18T20:14:17.577045" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.577805" elapsed="0.000179"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-08-18T20:14:17.575825" elapsed="0.002196"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.578424" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.578196" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.578181" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.579157" 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-08-18T20:14:17.578815" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.579914" 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-08-18T20:14:17.579332" 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-08-18T20:14:17.580092" elapsed="0.000179"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-08-18T20:14:17.578152" elapsed="0.002156"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.580725" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.580495" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.580481" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.581459" 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-08-18T20:14:17.581118" elapsed="0.000366"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.582220" 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-08-18T20:14:17.581632" 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-08-18T20:14:17.582396" elapsed="0.000178"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-08-18T20:14:17.580451" elapsed="0.002159"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.583033" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.582802" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.582786" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.583767" 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-08-18T20:14:17.583411" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.584524" 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-08-18T20:14:17.583944" 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-08-18T20:14:17.584701" elapsed="0.000194"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-08-18T20:14:17.582741" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.585337" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.585108" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.585093" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.586075" 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-08-18T20:14:17.585714" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.586877" 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-08-18T20:14:17.586286" 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-08-18T20:14:17.587057" elapsed="0.000181"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-08-18T20:14:17.585064" 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-08-18T20:14:17.587805" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.587559" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.587545" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.588560" 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-08-18T20:14:17.588189" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.589319" 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-08-18T20:14:17.588738" 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-08-18T20:14:17.589498" elapsed="0.000179"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-08-18T20:14:17.587515" elapsed="0.002199"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.590134" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.589905" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.589890" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.590868" 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-08-18T20:14:17.590510" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.591604" 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-08-18T20:14:17.591042" elapsed="0.000589"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.591795" elapsed="0.000179"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-08-18T20:14:17.589861" elapsed="0.002149"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.592411" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.592182" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.592168" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.593162" 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-08-18T20:14:17.592818" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.593919" 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-08-18T20:14:17.593338" 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-08-18T20:14:17.594098" elapsed="0.000178"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-08-18T20:14:17.592139" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.594716" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.594487" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.594472" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.595453" 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-08-18T20:14:17.595110" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.596223" 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-08-18T20:14:17.595627" 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-08-18T20:14:17.596401" elapsed="0.000194"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-08-18T20:14:17.594443" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.597051" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.596822" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.596806" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.597832" 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-08-18T20:14:17.597470" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.598577" 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-08-18T20:14:17.598009" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.598770" elapsed="0.000181"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-08-18T20:14:17.596776" 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-08-18T20:14:17.599391" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.599161" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.599147" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.600135" 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-08-18T20:14:17.599790" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.600930" 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-08-18T20:14:17.600311" 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-08-18T20:14:17.601110" elapsed="0.000178"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-08-18T20:14:17.599118" elapsed="0.002207"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.601736" elapsed="0.000215"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.601502" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.601487" elapsed="0.000527"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.602499" 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-08-18T20:14:17.602154" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.603268" 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-08-18T20:14:17.602675" 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-08-18T20:14:17.603447" elapsed="0.000179"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-08-18T20:14:17.601458" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.604201" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.603970" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.603955" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.604953" 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-08-18T20:14:17.604594" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.605697" 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-08-18T20:14:17.605129" 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-08-18T20:14:17.605892" elapsed="0.000179"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-08-18T20:14:17.603925" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.606514" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.606284" elapsed="0.000452"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.606270" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.607260" 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-08-18T20:14:17.606914" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.608019" 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-08-18T20:14:17.607437" 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-08-18T20:14:17.608198" elapsed="0.000180"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-08-18T20:14:17.606240" 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-08-18T20:14:17.608888" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.608640" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.608625" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.609619" 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-08-18T20:14:17.609270" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.610383" 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-08-18T20:14:17.609812" 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-08-18T20:14:17.610561" elapsed="0.000179"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-08-18T20:14:17.608596" elapsed="0.002196"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.611200" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.610970" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.610955" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.611943" 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-08-18T20:14:17.611578" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.612709" 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-08-18T20:14:17.612120" 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-08-18T20:14:17.612916" elapsed="0.000187"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-08-18T20:14:17.610926" 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-08-18T20:14:17.613543" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.613315" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.613300" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.614280" 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-08-18T20:14:17.613938" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.615037" 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-08-18T20:14:17.614455" 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-08-18T20:14:17.615214" elapsed="0.000177"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-08-18T20:14:17.613271" elapsed="0.002157"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.615848" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.615603" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.615588" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.616587" 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-08-18T20:14:17.616226" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.617345" 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-08-18T20:14:17.616776" 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-08-18T20:14:17.617523" elapsed="0.000176"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-08-18T20:14:17.615560" elapsed="0.002175"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.618161" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.617932" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.617915" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.618902" 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-08-18T20:14:17.618541" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.619776" 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-08-18T20:14:17.619078" elapsed="0.000762"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.619995" elapsed="0.000181"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-08-18T20:14:17.617885" 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-08-18T20:14:17.620633" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.620389" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.620374" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.621374" 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-08-18T20:14:17.621031" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.622141" 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-08-18T20:14:17.621550" 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-08-18T20:14:17.622319" elapsed="0.000178"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-08-18T20:14:17.620345" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.622957" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.622709" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.622694" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.623678" 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-08-18T20:14:17.623335" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.624462" 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-08-18T20:14:17.623868" 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-08-18T20:14:17.624645" elapsed="0.000193"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-08-18T20:14:17.622665" elapsed="0.002210"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.625283" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.625053" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.625038" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.626021" 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-08-18T20:14:17.625659" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.626776" 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-08-18T20:14:17.626196" 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-08-18T20:14:17.626957" elapsed="0.000178"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-08-18T20:14:17.625009" elapsed="0.002163"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.627577" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.627349" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.627334" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.628313" 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-08-18T20:14:17.627970" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.629099" 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-08-18T20:14:17.628516" 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-08-18T20:14:17.629276" elapsed="0.000177"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-08-18T20:14:17.627305" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.629912" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.629665" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.629650" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.630637" 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-08-18T20:14:17.630292" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.631436" 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-08-18T20:14:17.630863" 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-08-18T20:14:17.631613" elapsed="0.000194"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-08-18T20:14:17.629622" 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-08-18T20:14:17.632250" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.632019" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.632005" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.633005" 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-08-18T20:14:17.632641" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.633769" 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-08-18T20:14:17.633183" 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-08-18T20:14:17.633950" elapsed="0.000178"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-08-18T20:14:17.631976" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.634574" elapsed="0.000302"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.634344" elapsed="0.000574"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.634330" elapsed="0.000613"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.635900" 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-08-18T20:14:17.635087" elapsed="0.000840"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.636678" 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-08-18T20:14:17.636079" 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-08-18T20:14:17.636873" elapsed="0.000181"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-08-18T20:14:17.634301" elapsed="0.002789"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.637497" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.637267" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.637253" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.638236" 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-08-18T20:14:17.637892" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.638994" 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-08-18T20:14:17.638410" 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-08-18T20:14:17.639172" elapsed="0.000180"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-08-18T20:14:17.637224" elapsed="0.002164"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-08-18T20:14:17.402722" elapsed="0.236696"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.640703" 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-08-18T20:14:17.639568" elapsed="0.001164"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.640803" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:14:17.640970" 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-08-18T20:14:17.349945" elapsed="0.291052"/>
</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-08-18T20:14:17.642304" 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-08-18T20:14:17.642051" elapsed="0.000317">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-08-18T20:14:17.642459" 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-08-18T20:14:17.641700" elapsed="0.000783"/>
</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-08-18T20:14:17.642815" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.642552" elapsed="0.000322"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.643359" 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-08-18T20:14:17.643074" elapsed="0.000311"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.642898" elapsed="0.000523"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.642535" elapsed="0.000907"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.645700" 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-08-18T20:14:17.643591" elapsed="0.002136"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:14:17.645797" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:17.645951" 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-08-18T20:14:17.641375" elapsed="0.004601"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.647459" 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-08-18T20:14:17.647216" elapsed="0.000287"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.647904" 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-08-18T20:14:17.647652" elapsed="0.000785"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.648850" 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-08-18T20:14:17.648590" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.649278" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:17.649042" elapsed="0.000279"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:17.650110" 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-08-18T20:14:17.649923" elapsed="0.000213"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-08-18T20:14:17.650452" 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-08-18T20:14:17.650283" elapsed="0.000194"/>
</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-08-18T20:14:17.650622" elapsed="0.000201"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.651216" 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-08-18T20:14:17.650974" elapsed="0.000285"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-08-18T20:14:17.651301" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:17.651454" 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-08-18T20:14:17.649513" elapsed="0.001965"/>
</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-08-18T20:14:17.684284" level="INFO">POST Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.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-08-18T20:14:17.684774" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:group=5000', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:17.685085" 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-08-18T20:14:17.653857" elapsed="0.031290"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.651547" elapsed="0.033727"/>
</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-08-18T20:14:17.685798" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.685344" elapsed="0.000611"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.651530" elapsed="0.034472"/>
</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-08-18T20:14:17.693090" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:17.688538" elapsed="0.004596"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.688002" elapsed="0.005166"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.687956" elapsed="0.005237"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.695601" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:17.693467" elapsed="0.002180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.693249" elapsed="0.002432"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.693232" elapsed="0.002472"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.696319" 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-08-18T20:14:17.695915" elapsed="0.000444"/>
</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-08-18T20:14:17.696683" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.696435" elapsed="0.000320"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.697254" 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-08-18T20:14:17.696956" elapsed="0.000327"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.696780" elapsed="0.000538"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.696410" elapsed="0.000929"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.697888" 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-08-18T20:14:17.697506" elapsed="0.000408"/>
</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-08-18T20:14:17.698224" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.697983" elapsed="0.000297"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.698778" 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-08-18T20:14:17.698473" elapsed="0.000332"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.698304" elapsed="0.000535"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.697965" elapsed="0.000895"/>
</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-08-18T20:14:17.699013" elapsed="0.000343"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-08-18T20:14:17.699831" 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-08-18T20:14:17.699516" elapsed="0.000342"/>
</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-08-18T20:14:17.700010" elapsed="0.002168"/>
</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-08-18T20:14:17.686902" elapsed="0.015341"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:17.702428" elapsed="0.000018"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:17.702315" elapsed="0.000162"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.702297" elapsed="0.000201"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-08-18T20:14:17.704893" 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-08-18T20:14:17.702643" elapsed="0.002276"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-08-18T20:14:17.704967" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:17.705136" 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-08-18T20:14:17.646288" elapsed="0.058873"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.705269" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:17.705424" 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-08-18T20:14:17.268952" elapsed="0.436497"/>
</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-08-18T20:14:17.705809" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.705556" elapsed="0.000322"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.705539" elapsed="0.000362"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.705934" 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-08-18T20:14:17.266462" elapsed="0.439598"/>
</kw>
<var name="${switch}">2</var>
<status status="PASS" start="2026-08-18T20:14:17.255080" elapsed="0.451027"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.706788" 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-08-18T20:14:17.706362" elapsed="0.000455"/>
</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-08-18T20:14:17.747647" 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-08-18T20:14:17.747276" elapsed="0.000399"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.748461" 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-08-18T20:14:17.748184" elapsed="0.000362">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-08-18T20:14:17.748641" 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-08-18T20:14:17.747851" elapsed="0.000814"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.749227" 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-08-18T20:14:17.748844" elapsed="0.000411"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.749548" 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-08-18T20:14:17.749710" 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-08-18T20:14:17.749412" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.750155" 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-08-18T20:14:17.749915" elapsed="0.000285"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.751148" 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-08-18T20:14:17.750896" elapsed="0.000296"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.751601" 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-08-18T20:14:17.751346" elapsed="0.000282"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.752368" 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-08-18T20:14:17.751999" elapsed="0.000395"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-08-18T20:14:17.753367" 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-08-18T20:14:17.752934" elapsed="0.000460"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-08-18T20:14:17.753444" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:14:17.753636" 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-08-18T20:14:17.752576" elapsed="0.001085"/>
</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-08-18T20:14:17.753973" elapsed="0.000273"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:3</var>
<status status="PASS" start="2026-08-18T20:14:17.751867" elapsed="0.002420"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-08-18T20:14:17.751684" elapsed="0.002639"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:14:17.754368" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:17.754522" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:14:17.750562" elapsed="0.003986"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.750267" elapsed="0.004313"/>
</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-08-18T20:14:17.754764" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.754604" elapsed="0.000218"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.750248" elapsed="0.004594"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.755514" 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-08-18T20:14:17.754982" elapsed="0.000559"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.755590" 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-08-18T20:14:17.746660" elapsed="0.009052"/>
</kw>
<msg time="2026-08-18T20:14:17.755788" 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-08-18T20:14:17.734703" elapsed="0.021134"/>
</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-08-18T20:14:17.767692" 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-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-08-18T20:14:17.779336" 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-08-18T20:14:17.790952" 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-08-18T20:14:17.791143" 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-08-18T20:14:17.791315" 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-08-18T20:14:17.791674" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.791533" elapsed="0.000196"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:17.791518" elapsed="0.000247"/>
</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-08-18T20:14:17.791903" 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-08-18T20:14:17.792109" 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-08-18T20:14:17.792292" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:14:17.791491" elapsed="0.000860"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:14:17.791391" elapsed="0.000987"/>
</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-08-18T20:14:17.792523" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:17.792599" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:14:17.792713" 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-08-18T20:14:17.730616" elapsed="0.062123"/>
</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-08-18T20:14:17.803091" elapsed="0.000332"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.816001" 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-08-18T20:14:17.815614" elapsed="0.000415"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.816741" 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-08-18T20:14:17.816535" elapsed="0.000286">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-08-18T20:14:17.816913" 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-08-18T20:14:17.816187" elapsed="0.000750"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.817470" 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-08-18T20:14:17.817097" elapsed="0.000400"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.817800" 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-08-18T20:14:17.817922" 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-08-18T20:14:17.817653" elapsed="0.000294"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.818336" 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-08-18T20:14:17.818098" elapsed="0.000281"/>
</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-08-18T20:14:17.818727" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.818443" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.819253" 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-08-18T20:14:17.818966" elapsed="0.000312"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.818825" elapsed="0.000487"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.818425" elapsed="0.000908"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.819905" 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-08-18T20:14:17.819473" elapsed="0.000460"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.819981" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:17.820130" 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-08-18T20:14:17.815010" elapsed="0.005145"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.833051" 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-08-18T20:14:17.832664" elapsed="0.000415"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.833783" 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-08-18T20:14:17.833565" elapsed="0.000282">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-08-18T20:14:17.833939" 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-08-18T20:14:17.833237" elapsed="0.000726"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.834497" 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-08-18T20:14:17.834122" elapsed="0.000402"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.834828" 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-08-18T20:14:17.834950" 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-08-18T20:14:17.834679" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.835364" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:17.835127" elapsed="0.000280"/>
</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-08-18T20:14:17.835767" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.835472" elapsed="0.000358"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.836312" 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-08-18T20:14:17.836002" elapsed="0.000336"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.835859" elapsed="0.000514"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.835454" elapsed="0.000940"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.836966" 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-08-18T20:14:17.836535" elapsed="0.000457"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.837040" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:17.837189" 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-08-18T20:14:17.832037" elapsed="0.005177"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.849868" 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-08-18T20:14:17.849484" elapsed="0.000411"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.850578" 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-08-18T20:14:17.850378" elapsed="0.000262">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-08-18T20:14:17.850733" 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-08-18T20:14:17.850051" elapsed="0.000721"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.851309" 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-08-18T20:14:17.850935" elapsed="0.000401"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:17.851625" 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-08-18T20:14:17.851797" 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-08-18T20:14:17.851492" elapsed="0.000333"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.852235" 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-08-18T20:14:17.851977" elapsed="0.000306"/>
</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-08-18T20:14:17.852635" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.852349" elapsed="0.000344"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.853172" 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-08-18T20:14:17.852883" elapsed="0.000315"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.852717" elapsed="0.000517"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.852331" elapsed="0.000924"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.853982" 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-08-18T20:14:17.853397" elapsed="0.000615"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:17.854061" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:17.854215" 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-08-18T20:14:17.848953" elapsed="0.005289"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.854640" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:17.854400" elapsed="0.000266"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.855200" 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-08-18T20:14:17.854837" elapsed="0.000389"/>
</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-08-18T20:14:17.855863" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:17.855614" elapsed="0.000306"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.855597" elapsed="0.000347"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.856440" 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-08-18T20:14:17.856082" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.857370" 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-08-18T20:14:17.856617" elapsed="0.000782"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.857552" elapsed="0.000187"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-08-18T20:14:17.855563" 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-08-18T20:14:17.858198" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.857966" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.857952" elapsed="0.000491"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.858951" 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-08-18T20:14:17.858583" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.859698" 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-08-18T20:14:17.859129" 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-08-18T20:14:17.859897" elapsed="0.000181"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-08-18T20:14:17.857923" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.860599" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.860365" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.860350" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.861347" 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-08-18T20:14:17.861001" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.862116" 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-08-18T20:14:17.861524" 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-08-18T20:14:17.862296" elapsed="0.000180"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-08-18T20:14:17.860319" elapsed="0.002194"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.862936" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.862688" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.862674" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.863661" 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-08-18T20:14:17.863315" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.864431" 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-08-18T20:14:17.863853" 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-08-18T20:14:17.864610" elapsed="0.000196"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-08-18T20:14:17.862644" elapsed="0.002200"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.865251" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.865019" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.865004" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.865998" 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-08-18T20:14:17.865632" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.866741" 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-08-18T20:14:17.866175" 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-08-18T20:14:17.866938" elapsed="0.000180"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-08-18T20:14:17.864975" elapsed="0.002180"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.867562" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.867330" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.867316" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.868320" 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-08-18T20:14:17.867958" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.869082" 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-08-18T20:14:17.868497" 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-08-18T20:14:17.869259" elapsed="0.000181"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-08-18T20:14:17.867287" elapsed="0.002188"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.869896" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.869650" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.869636" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.870626" 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-08-18T20:14:17.870280" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.871401" 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-08-18T20:14:17.870818" 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-08-18T20:14:17.871614" elapsed="0.000198"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-08-18T20:14:17.869607" 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-08-18T20:14:17.872288" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.872026" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.872011" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.873037" 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-08-18T20:14:17.872672" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.873924" 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-08-18T20:14:17.873215" elapsed="0.000738"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.874105" elapsed="0.000179"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-08-18T20:14:17.871982" 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-08-18T20:14:17.874723" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.874493" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.874479" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.875468" 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-08-18T20:14:17.875122" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.876249" 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-08-18T20:14:17.875644" 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-08-18T20:14:17.876432" elapsed="0.000178"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-08-18T20:14:17.874450" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.877155" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.876839" elapsed="0.000534"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.876825" elapsed="0.000571"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.877895" 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-08-18T20:14:17.877533" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.878636" 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-08-18T20:14:17.878071" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.878830" elapsed="0.000180"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-08-18T20:14:17.876795" 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-08-18T20:14:17.879453" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.879223" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.879208" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.880207" 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-08-18T20:14:17.879845" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.880975" 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-08-18T20:14:17.880387" 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-08-18T20:14:17.881152" elapsed="0.000179"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-08-18T20:14:17.879180" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.881791" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.881543" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.881528" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.882519" 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-08-18T20:14:17.882174" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.883320" 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-08-18T20:14:17.882731" 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-08-18T20:14:17.883499" elapsed="0.000178"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-08-18T20:14:17.881500" 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-08-18T20:14:17.884140" elapsed="0.000209"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.883908" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.883893" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.884911" 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-08-18T20:14:17.884549" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.885661" 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-08-18T20:14:17.885086" 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-08-18T20:14:17.885856" elapsed="0.000179"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-08-18T20:14:17.883864" elapsed="0.002207"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.886475" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.886245" elapsed="0.000452"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.886231" elapsed="0.000491"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.887228" 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-08-18T20:14:17.886878" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.887998" 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-08-18T20:14:17.887405" 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-08-18T20:14:17.888186" elapsed="0.000193"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-08-18T20:14:17.886203" 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-08-18T20:14:17.888840" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.888593" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.888577" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.889694" 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-08-18T20:14:17.889228" elapsed="0.000492"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.890463" 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-08-18T20:14:17.889889" 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-08-18T20:14:17.890644" elapsed="0.000196"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-08-18T20:14:17.888548" elapsed="0.002329"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.891282" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.891052" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.891037" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.892024" 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-08-18T20:14:17.891660" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.892801" 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-08-18T20:14:17.892212" 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-08-18T20:14:17.892980" elapsed="0.000181"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-08-18T20:14:17.891008" elapsed="0.002190"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.893605" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.893373" elapsed="0.000501"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.893358" elapsed="0.000543"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.894390" 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-08-18T20:14:17.894042" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.895154" 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-08-18T20:14:17.894567" 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-08-18T20:14:17.895334" elapsed="0.000181"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-08-18T20:14:17.893329" 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-08-18T20:14:17.895974" elapsed="0.000211"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.895727" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.895712" elapsed="0.000536"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.896732" 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-08-18T20:14:17.896386" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.897494" 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-08-18T20:14:17.896924" 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-08-18T20:14:17.897673" elapsed="0.000197"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-08-18T20:14:17.895683" 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-08-18T20:14:17.898314" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.898084" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.898069" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.899064" 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-08-18T20:14:17.898696" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.899831" 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-08-18T20:14:17.899241" 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-08-18T20:14:17.900010" elapsed="0.000193"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-08-18T20:14:17.898040" elapsed="0.002200"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.900648" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.900416" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.900402" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.901389" 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-08-18T20:14:17.901045" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.902148" 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-08-18T20:14:17.901564" 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-08-18T20:14:17.902325" elapsed="0.000179"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-08-18T20:14:17.900373" elapsed="0.002167"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.902962" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.902717" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.902702" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.903686" 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-08-18T20:14:17.903341" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.904462" 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-08-18T20:14:17.903877" 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-08-18T20:14:17.904640" elapsed="0.000196"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-08-18T20:14:17.902673" 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-08-18T20:14:17.905319" elapsed="0.000298"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.905086" elapsed="0.000569"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.905071" elapsed="0.000608"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.906187" 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-08-18T20:14:17.905835" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.906951" 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-08-18T20:14:17.906364" 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-08-18T20:14:17.907133" elapsed="0.000180"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-08-18T20:14:17.905042" 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-08-18T20:14:17.907772" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.907526" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.907512" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.908532" 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-08-18T20:14:17.908179" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.909296" 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-08-18T20:14:17.908708" 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-08-18T20:14:17.909475" elapsed="0.000184"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-08-18T20:14:17.907482" 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-08-18T20:14:17.910121" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.909890" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.909876" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.910857" 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-08-18T20:14:17.910498" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.911605" 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-08-18T20:14:17.911032" 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-08-18T20:14:17.911797" elapsed="0.000180"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-08-18T20:14:17.909846" elapsed="0.002167"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.912440" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.912209" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.912194" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.913177" 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-08-18T20:14:17.912833" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.913935" 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-08-18T20:14:17.913353" 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-08-18T20:14:17.914113" elapsed="0.000179"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-08-18T20:14:17.912164" elapsed="0.002164"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.914735" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.914506" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.914491" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.915475" 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-08-18T20:14:17.915132" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.916253" 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-08-18T20:14:17.915650" 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-08-18T20:14:17.916468" elapsed="0.000182"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-08-18T20:14:17.914462" 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-08-18T20:14:17.917126" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.916894" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.916879" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.917865" 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-08-18T20:14:17.917505" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.918612" 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-08-18T20:14:17.918042" 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-08-18T20:14:17.918814" elapsed="0.000183"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-08-18T20:14:17.916843" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.919445" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.919214" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.919200" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.920214" 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-08-18T20:14:17.919839" elapsed="0.000405"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.920987" 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-08-18T20:14:17.920394" 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-08-18T20:14:17.921164" elapsed="0.000179"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-08-18T20:14:17.919170" elapsed="0.002210"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.921924" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.921559" elapsed="0.000587"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.921544" elapsed="0.000626"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.922654" 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-08-18T20:14:17.922309" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.923415" 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-08-18T20:14:17.922846" 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-08-18T20:14:17.923593" elapsed="0.000197"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-08-18T20:14:17.921515" 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-08-18T20:14:17.924250" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.924001" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.923987" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.924991" 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-08-18T20:14:17.924629" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.925735" 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-08-18T20:14:17.925167" 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-08-18T20:14:17.925930" elapsed="0.000181"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-08-18T20:14:17.923958" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.926551" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.926322" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.926307" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.927303" 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-08-18T20:14:17.926954" elapsed="0.000418"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.928134" 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-08-18T20:14:17.927529" 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-08-18T20:14:17.928315" elapsed="0.000180"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-08-18T20:14:17.926278" 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-08-18T20:14:17.928954" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.928706" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.928691" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.929683" 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-08-18T20:14:17.929338" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.930442" 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-08-18T20:14:17.929874" elapsed="0.000596"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.930623" elapsed="0.000197"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-08-18T20:14:17.928662" elapsed="0.002196"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.931265" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.931033" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.931018" elapsed="0.000492"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.932014" 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-08-18T20:14:17.931650" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.932804" 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-08-18T20:14:17.932218" 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-08-18T20:14:17.932984" elapsed="0.000179"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-08-18T20:14:17.930988" 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-08-18T20:14:17.933605" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.933376" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.933361" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.934345" 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-08-18T20:14:17.934002" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.935111" 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-08-18T20:14:17.934521" 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-08-18T20:14:17.935288" elapsed="0.000177"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-08-18T20:14:17.933332" elapsed="0.002170"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.935922" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.935677" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.935663" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.936670" 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-08-18T20:14:17.936323" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.937437" 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-08-18T20:14:17.936864" 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-08-18T20:14:17.937615" elapsed="0.000196"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-08-18T20:14:17.935634" 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-08-18T20:14:17.938405" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.938133" elapsed="0.000496"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.938010" elapsed="0.000643"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.939157" 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-08-18T20:14:17.938810" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.939919" 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-08-18T20:14:17.939337" 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-08-18T20:14:17.940110" elapsed="0.000189"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-08-18T20:14:17.937980" 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-08-18T20:14:17.940738" elapsed="0.000206"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.940509" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.940494" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.941486" 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-08-18T20:14:17.941143" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.942249" 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-08-18T20:14:17.941660" 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-08-18T20:14:17.942428" elapsed="0.000179"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-08-18T20:14:17.940466" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.943064" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.942834" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.942819" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.943802" 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-08-18T20:14:17.943441" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.944572" 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-08-18T20:14:17.943978" 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-08-18T20:14:17.944766" elapsed="0.000181"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-08-18T20:14:17.942789" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.945390" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.945159" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.945145" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.946128" 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-08-18T20:14:17.945780" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.946885" 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-08-18T20:14:17.946303" 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-08-18T20:14:17.947063" elapsed="0.000180"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-08-18T20:14:17.945116" elapsed="0.002164"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.947683" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.947454" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.947440" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.948462" 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-08-18T20:14:17.948079" elapsed="0.000409"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.949233" 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-08-18T20:14:17.948636" 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-08-18T20:14:17.949445" elapsed="0.000180"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-08-18T20:14:17.947411" 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-08-18T20:14:17.950083" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.949852" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.949837" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.950825" 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-08-18T20:14:17.950462" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.951567" 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-08-18T20:14:17.951001" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.951759" elapsed="0.000182"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-08-18T20:14:17.949808" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.952396" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.952164" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.952150" elapsed="0.000493"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.953142" 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-08-18T20:14:17.952795" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.953906" 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-08-18T20:14:17.953317" 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-08-18T20:14:17.954085" elapsed="0.000179"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-08-18T20:14:17.952121" elapsed="0.002180"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.954833" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.954582" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.954460" elapsed="0.000617"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.955562" 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-08-18T20:14:17.955215" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.956352" 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-08-18T20:14:17.955739" 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-08-18T20:14:17.956533" elapsed="0.000186"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-08-18T20:14:17.954431" 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-08-18T20:14:17.957180" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.956948" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.956933" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.957920" 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-08-18T20:14:17.957557" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.958661" 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-08-18T20:14:17.958096" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.958861" elapsed="0.000180"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-08-18T20:14:17.956904" elapsed="0.002173"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.959480" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.959250" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.959236" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.960233" 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-08-18T20:14:17.959872" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.961032" 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-08-18T20:14:17.960443" 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-08-18T20:14:17.961213" elapsed="0.000180"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-08-18T20:14:17.959207" 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-08-18T20:14:17.961851" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.961603" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.961588" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.962577" 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-08-18T20:14:17.962232" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.963338" 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-08-18T20:14:17.962769" 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-08-18T20:14:17.963517" elapsed="0.000180"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-08-18T20:14:17.961560" elapsed="0.002173"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.964168" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.963927" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.963912" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.964905" 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-08-18T20:14:17.964545" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.965645" 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-08-18T20:14:17.965080" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.965838" elapsed="0.000180"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-08-18T20:14:17.963883" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.966457" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.966228" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.966214" elapsed="0.000479"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.967188" 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-08-18T20:14:17.966845" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.967949" 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-08-18T20:14:17.967363" 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-08-18T20:14:17.968154" elapsed="0.000189"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-08-18T20:14:17.966185" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.968804" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.968558" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.968542" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.969529" 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-08-18T20:14:17.969185" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.970286" 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-08-18T20:14:17.969703" 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-08-18T20:14:17.970463" elapsed="0.000178"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-08-18T20:14:17.968512" elapsed="0.002166"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.971737" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.971491" elapsed="0.000515"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.970862" elapsed="0.001171"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.972543" 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-08-18T20:14:17.972192" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.973309" 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-08-18T20:14:17.972720" 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-08-18T20:14:17.973488" elapsed="0.000181"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-08-18T20:14:17.970833" elapsed="0.002873"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.974132" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.973900" elapsed="0.000452"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.973885" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.974883" 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-08-18T20:14:17.974511" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.975636" 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-08-18T20:14:17.975061" 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-08-18T20:14:17.975834" elapsed="0.000182"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-08-18T20:14:17.973856" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.976504" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.976271" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.976256" elapsed="0.000650"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.977399" 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-08-18T20:14:17.977048" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.978169" 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-08-18T20:14:17.977577" 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-08-18T20:14:17.978351" elapsed="0.000180"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-08-18T20:14:17.976227" 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-08-18T20:14:17.979002" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.978767" elapsed="0.000454"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.978736" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.979730" 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-08-18T20:14:17.979383" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.980509" 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-08-18T20:14:17.979924" 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-08-18T20:14:17.980690" elapsed="0.000208"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-08-18T20:14:17.978706" 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-08-18T20:14:17.981349" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.981114" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.981099" elapsed="0.000493"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.982100" 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-08-18T20:14:17.981731" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.982868" 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-08-18T20:14:17.982279" 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-08-18T20:14:17.983049" elapsed="0.000183"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-08-18T20:14:17.981070" 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-08-18T20:14:17.983717" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.983485" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.983470" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.984483" 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-08-18T20:14:17.984129" elapsed="0.000380"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.985255" 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-08-18T20:14:17.984664" 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-08-18T20:14:17.985435" elapsed="0.000182"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-08-18T20:14:17.983440" 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-08-18T20:14:17.986081" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.985849" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.985834" elapsed="0.000493"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.986843" 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-08-18T20:14:17.986468" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.987604" 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-08-18T20:14:17.987023" 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-08-18T20:14:17.987801" elapsed="0.000183"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-08-18T20:14:17.985803" 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-08-18T20:14:17.988581" elapsed="0.000206"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.988340" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.988214" elapsed="0.000637"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.989348" 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-08-18T20:14:17.988993" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.990115" 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-08-18T20:14:17.989526" 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-08-18T20:14:17.990296" elapsed="0.000181"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-08-18T20:14:17.988184" 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-08-18T20:14:17.990944" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.990697" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.990682" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.991670" 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-08-18T20:14:17.991325" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.992444" 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-08-18T20:14:17.991860" 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-08-18T20:14:17.992622" elapsed="0.000196"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-08-18T20:14:17.990653" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.993260" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.993030" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.993016" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.994001" 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-08-18T20:14:17.993639" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.994762" 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-08-18T20:14:17.994177" 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-08-18T20:14:17.994980" elapsed="0.000184"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-08-18T20:14:17.992987" 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-08-18T20:14:17.995607" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.995376" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.995362" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.996365" 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-08-18T20:14:17.996003" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.997127" 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-08-18T20:14:17.996539" 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-08-18T20:14:17.997305" elapsed="0.000180"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-08-18T20:14:17.995333" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:17.997942" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:17.997696" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.997682" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.998660" 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-08-18T20:14:17.998318" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:17.999418" 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-08-18T20:14:17.998849" 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-08-18T20:14:17.999595" elapsed="0.000196"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-08-18T20:14:17.997653" elapsed="0.002175"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.000270" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.000006" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:17.999990" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.001015" 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-08-18T20:14:18.000652" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.001775" 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-08-18T20:14:18.001191" 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-08-18T20:14:18.001954" elapsed="0.000179"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-08-18T20:14:17.999961" elapsed="0.002209"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.002575" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.002345" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.002331" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.003315" 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-08-18T20:14:18.002970" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.004089" 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-08-18T20:14:18.003490" 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-08-18T20:14:18.004269" elapsed="0.000186"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-08-18T20:14:18.002302" elapsed="0.002190"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.005036" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.004795" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.004651" elapsed="0.000631"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.005786" 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-08-18T20:14:18.005423" elapsed="0.000434"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.006595" 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-08-18T20:14:18.006014" 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-08-18T20:14:18.006803" elapsed="0.000183"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-08-18T20:14:18.004623" 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-08-18T20:14:18.007433" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.007202" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.007187" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.008192" 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-08-18T20:14:18.007829" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.008953" 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-08-18T20:14:18.008369" 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-08-18T20:14:18.009133" elapsed="0.000179"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-08-18T20:14:18.007158" elapsed="0.002190"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.009774" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.009525" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.009510" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.010501" 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-08-18T20:14:18.010156" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.011265" 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-08-18T20:14:18.010677" 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-08-18T20:14:18.011445" elapsed="0.000180"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-08-18T20:14:18.009481" elapsed="0.002182"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.012111" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.011856" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.011841" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.012858" 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-08-18T20:14:18.012494" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.013603" 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-08-18T20:14:18.013035" elapsed="0.000596"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.013800" elapsed="0.000187"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-08-18T20:14:18.011812" 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-08-18T20:14:18.014425" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.014196" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.014182" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.015167" 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-08-18T20:14:18.014821" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.015927" 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-08-18T20:14:18.015342" 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-08-18T20:14:18.016123" elapsed="0.000183"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-08-18T20:14:18.014154" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.016801" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.016517" elapsed="0.000508"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.016501" elapsed="0.000549"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.017538" 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-08-18T20:14:18.017190" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.018306" 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-08-18T20:14:18.017716" 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-08-18T20:14:18.018486" elapsed="0.000180"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-08-18T20:14:18.016473" 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-08-18T20:14:18.019125" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.018896" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.018881" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.019863" 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-08-18T20:14:18.019503" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.020631" 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-08-18T20:14:18.020051" 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-08-18T20:14:18.020836" elapsed="0.000181"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-08-18T20:14:18.018852" elapsed="0.002201"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.021577" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.021338" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.021214" elapsed="0.000624"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.022326" 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-08-18T20:14:18.021979" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.023090" 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-08-18T20:14:18.022502" 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-08-18T20:14:18.023269" elapsed="0.000178"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-08-18T20:14:18.021185" 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-08-18T20:14:18.023907" elapsed="0.000211"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.023659" elapsed="0.000496"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.023645" elapsed="0.000534"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.024665" 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-08-18T20:14:18.024318" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.025430" 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-08-18T20:14:18.024857" 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-08-18T20:14:18.025609" elapsed="0.000194"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-08-18T20:14:18.023615" 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-08-18T20:14:18.026245" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.026016" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.026002" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.026982" 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-08-18T20:14:18.026622" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.027727" 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-08-18T20:14:18.027159" 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-08-18T20:14:18.027959" elapsed="0.000199"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-08-18T20:14:18.025973" 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-08-18T20:14:18.028601" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.028370" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.028355" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.029352" 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-08-18T20:14:18.029005" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.030114" 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-08-18T20:14:18.029529" 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-08-18T20:14:18.030293" elapsed="0.000178"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-08-18T20:14:18.028326" elapsed="0.002181"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.030927" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.030680" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.030666" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.031667" 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-08-18T20:14:18.031305" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.032461" 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-08-18T20:14:18.031879" 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-08-18T20:14:18.032639" elapsed="0.000194"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-08-18T20:14:18.030637" 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-08-18T20:14:18.033270" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.033041" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.033027" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.034011" 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-08-18T20:14:18.033649" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.034774" 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-08-18T20:14:18.034187" 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-08-18T20:14:18.034953" elapsed="0.000178"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-08-18T20:14:18.032999" elapsed="0.002168"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.035572" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.035342" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.035326" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.036344" 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-08-18T20:14:18.035969" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.037116" 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-08-18T20:14:18.036521" 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-08-18T20:14:18.037293" elapsed="0.000177"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-08-18T20:14:18.035298" elapsed="0.002209"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.038046" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.037805" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.037665" elapsed="0.000625"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.038789" 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-08-18T20:14:18.038431" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.039581" 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-08-18T20:14:18.039003" 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-08-18T20:14:18.039777" elapsed="0.000182"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-08-18T20:14:18.037636" 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-08-18T20:14:18.040425" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.040196" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.040182" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.041165" 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-08-18T20:14:18.040820" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.041924" 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-08-18T20:14:18.041341" 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-08-18T20:14:18.042103" elapsed="0.000179"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-08-18T20:14:18.040153" elapsed="0.002165"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.042723" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.042493" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.042478" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.043462" 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-08-18T20:14:18.043119" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.044238" 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-08-18T20:14:18.043638" 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-08-18T20:14:18.044420" elapsed="0.000179"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-08-18T20:14:18.042449" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.045061" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.044831" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.044816" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.045798" 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-08-18T20:14:18.045438" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.046543" 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-08-18T20:14:18.045974" 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-08-18T20:14:18.046719" elapsed="0.000198"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-08-18T20:14:18.044785" elapsed="0.002169"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.047358" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.047129" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.047115" elapsed="0.000480"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.048137" 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-08-18T20:14:18.047734" elapsed="0.000429"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.048901" 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-08-18T20:14:18.048314" 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-08-18T20:14:18.049078" elapsed="0.000179"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-08-18T20:14:18.047086" elapsed="0.002207"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.049696" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.049468" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.049453" elapsed="0.000534"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.050476" 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-08-18T20:14:18.050128" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.051249" 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-08-18T20:14:18.050653" 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-08-18T20:14:18.051427" elapsed="0.000178"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-08-18T20:14:18.049424" 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-08-18T20:14:18.052075" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.051832" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.051818" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.052832" 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-08-18T20:14:18.052462" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.053580" 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-08-18T20:14:18.053009" 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-08-18T20:14:18.053771" elapsed="0.000180"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-08-18T20:14:18.051788" elapsed="0.002201"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.054505" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.054268" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.054148" elapsed="0.000613"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.055246" 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-08-18T20:14:18.054902" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.056016" 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-08-18T20:14:18.055423" 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-08-18T20:14:18.056197" elapsed="0.000183"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-08-18T20:14:18.054120" 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-08-18T20:14:18.056837" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.056591" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.056576" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.057573" 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-08-18T20:14:18.057229" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.058338" 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-08-18T20:14:18.057768" 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-08-18T20:14:18.058516" elapsed="0.000178"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-08-18T20:14:18.056548" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.059155" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.058924" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.058910" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.059890" 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-08-18T20:14:18.059532" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.060671" 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-08-18T20:14:18.060096" 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-08-18T20:14:18.060865" elapsed="0.000182"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-08-18T20:14:18.058881" 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-08-18T20:14:18.061528" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.061297" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.061282" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.062268" 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-08-18T20:14:18.061922" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.063026" 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-08-18T20:14:18.062443" 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-08-18T20:14:18.063203" elapsed="0.000178"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-08-18T20:14:18.061253" elapsed="0.002165"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.063836" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.063592" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.063578" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.064577" 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-08-18T20:14:18.064235" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.065335" 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-08-18T20:14:18.064767" elapsed="0.000596"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.065512" elapsed="0.000179"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-08-18T20:14:18.063549" elapsed="0.002178"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.066150" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.065920" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.065905" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.066887" 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-08-18T20:14:18.066528" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.067632" 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-08-18T20:14:18.067063" 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-08-18T20:14:18.067826" elapsed="0.000191"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-08-18T20:14:18.065876" elapsed="0.002178"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.068460" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.068231" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.068217" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.069204" 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-08-18T20:14:18.068856" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.069970" 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-08-18T20:14:18.069380" 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-08-18T20:14:18.070148" elapsed="0.000179"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-08-18T20:14:18.068188" elapsed="0.002176"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.070903" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.070647" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.070525" elapsed="0.000621"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.071630" 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-08-18T20:14:18.071287" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.072419" 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-08-18T20:14:18.071820" 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-08-18T20:14:18.072636" elapsed="0.000199"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-08-18T20:14:18.070496" 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-08-18T20:14:18.073277" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.073048" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.073033" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.074013" 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-08-18T20:14:18.073653" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.074768" 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-08-18T20:14:18.074187" 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-08-18T20:14:18.074947" elapsed="0.000179"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-08-18T20:14:18.073004" elapsed="0.002158"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.075565" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.075336" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.075322" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.076315" 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-08-18T20:14:18.075957" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.077077" 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-08-18T20:14:18.076490" 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-08-18T20:14:18.077255" elapsed="0.000178"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-08-18T20:14:18.075293" elapsed="0.002176"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.077888" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.077644" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.077629" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.078614" 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-08-18T20:14:18.078269" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.079376" 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-08-18T20:14:18.078805" 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-08-18T20:14:18.079554" elapsed="0.000183"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-08-18T20:14:18.077600" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.080239" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.079986" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.079970" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.080978" 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-08-18T20:14:18.080617" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.081721" 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-08-18T20:14:18.081155" 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-08-18T20:14:18.081916" elapsed="0.000178"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-08-18T20:14:18.079931" elapsed="0.002200"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.082537" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.082306" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.082292" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.083279" 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-08-18T20:14:18.082931" elapsed="0.000408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.084112" 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-08-18T20:14:18.083493" 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-08-18T20:14:18.084295" elapsed="0.000179"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-08-18T20:14:18.082263" 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-08-18T20:14:18.084936" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.084688" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.084673" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.085662" 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-08-18T20:14:18.085318" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.086424" 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-08-18T20:14:18.085853" 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-08-18T20:14:18.086603" elapsed="0.000194"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-08-18T20:14:18.084644" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.087358" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.087123" elapsed="0.000452"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.087004" elapsed="0.000595"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.088113" 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-08-18T20:14:18.087738" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.088875" 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-08-18T20:14:18.088291" 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-08-18T20:14:18.089055" elapsed="0.000179"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-08-18T20:14:18.086976" 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-08-18T20:14:18.089675" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.089446" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.089432" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.090416" 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-08-18T20:14:18.090073" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.091175" 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-08-18T20:14:18.090591" 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-08-18T20:14:18.091352" elapsed="0.000178"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-08-18T20:14:18.089403" elapsed="0.002162"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-08-18T20:14:17.855282" elapsed="0.236314"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.092874" 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-08-18T20:14:18.091760" elapsed="0.001141"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.092959" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:14:18.093119" 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-08-18T20:14:17.802242" elapsed="0.290903"/>
</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-08-18T20:14:18.094457" 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-08-18T20:14:18.094210" elapsed="0.000314">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-08-18T20:14:18.094616" 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-08-18T20:14:18.093876" elapsed="0.000764"/>
</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-08-18T20:14:18.094966" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.094710" elapsed="0.000313"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.095516" 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-08-18T20:14:18.095230" elapsed="0.000312"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.095047" elapsed="0.000529"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.094692" elapsed="0.000905"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.097929" 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-08-18T20:14:18.095759" elapsed="0.002196"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:14:18.098006" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:18.098158" 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-08-18T20:14:18.093528" elapsed="0.004654"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.099678" 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-08-18T20:14:18.099433" elapsed="0.000289"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.100130" 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-08-18T20:14:18.099884" elapsed="0.000745"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.101039" 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-08-18T20:14:18.100794" elapsed="0.000288"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.101463" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:18.101228" elapsed="0.000277"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:18.102315" 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-08-18T20:14:18.102122" elapsed="0.000219"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-08-18T20:14:18.102659" 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-08-18T20:14:18.102489" elapsed="0.000195"/>
</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-08-18T20:14:18.102845" elapsed="0.000188"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.103422" 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-08-18T20:14:18.103182" elapsed="0.000282"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-08-18T20:14:18.103505" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:18.103657" 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-08-18T20:14:18.101707" elapsed="0.001974"/>
</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-08-18T20:14:18.135470" level="INFO">POST Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.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-08-18T20:14:18.135851" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:group=5000', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:18.136109" 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-08-18T20:14:18.105917" elapsed="0.030251"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.103912" elapsed="0.032360"/>
</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-08-18T20:14:18.136687" elapsed="0.000088"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.136330" elapsed="0.000557"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.103733" elapsed="0.033203"/>
</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-08-18T20:14:18.144197" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:18.139261" elapsed="0.005030"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.138779" elapsed="0.005587"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.138710" elapsed="0.005711"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.147020" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:18.144908" elapsed="0.002157"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.144542" elapsed="0.002556"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.144505" elapsed="0.002617"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.147661" 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-08-18T20:14:18.147292" elapsed="0.000396"/>
</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-08-18T20:14:18.148027" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.147771" elapsed="0.000313"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.148571" 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-08-18T20:14:18.148277" elapsed="0.000320"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.148107" elapsed="0.000526"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.147738" elapsed="0.000919"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.149195" 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-08-18T20:14:18.148837" elapsed="0.000384"/>
</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-08-18T20:14:18.149528" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.149289" elapsed="0.000294"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.150076" 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-08-18T20:14:18.149787" elapsed="0.000314"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.149606" elapsed="0.000529"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.149271" elapsed="0.000885"/>
</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-08-18T20:14:18.150302" elapsed="0.000338"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-08-18T20:14:18.151089" 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-08-18T20:14:18.150815" elapsed="0.000300"/>
</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-08-18T20:14:18.151262" elapsed="0.002148"/>
</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-08-18T20:14:18.137741" elapsed="0.015730"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:18.153644" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:18.153541" elapsed="0.000146"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.153523" elapsed="0.000185"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-08-18T20:14:18.156088" 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-08-18T20:14:18.153874" elapsed="0.002240"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-08-18T20:14:18.156162" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:18.156314" 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-08-18T20:14:18.098507" elapsed="0.057831"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.156440" elapsed="0.000026"/>
</return>
<msg time="2026-08-18T20:14:18.156615" 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-08-18T20:14:17.719933" elapsed="0.436706"/>
</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-08-18T20:14:18.156999" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.156756" elapsed="0.000311"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.156725" elapsed="0.000366"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.157123" 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-08-18T20:14:17.717450" elapsed="0.439796"/>
</kw>
<var name="${switch}">3</var>
<status status="PASS" start="2026-08-18T20:14:17.706220" elapsed="0.451071"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-08-18T20:14:16.788401" elapsed="1.368922"/>
</for>
<doc>Add 100 groups of type 1 in every switch.</doc>
<status status="PASS" start="2026-08-18T20:14:16.788033" elapsed="1.369430"/>
</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-08-18T20:14:18.160979" 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-08-18T20:14:18.160559" elapsed="0.000448"/>
</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-08-18T20:14:18.201416" 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-08-18T20:14:18.201050" elapsed="0.000395"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.202175" 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-08-18T20:14:18.201943" elapsed="0.000299">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-08-18T20:14:18.202334" 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-08-18T20:14:18.201602" elapsed="0.000756"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.202907" 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-08-18T20:14:18.202515" elapsed="0.000419"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.203219" 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-08-18T20:14:18.203356" 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-08-18T20:14:18.203088" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.203787" 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-08-18T20:14:18.203531" elapsed="0.000302"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.204789" 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-08-18T20:14:18.204523" elapsed="0.000310"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.205244" 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-08-18T20:14:18.204988" elapsed="0.000282"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.205959" 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-08-18T20:14:18.205611" elapsed="0.000373"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-08-18T20:14:18.206987" 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-08-18T20:14:18.206538" elapsed="0.000476"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-08-18T20:14:18.207065" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:18.207218" 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-08-18T20:14:18.206165" elapsed="0.001078"/>
</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-08-18T20:14:18.207391" elapsed="0.000269"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:1</var>
<status status="PASS" start="2026-08-18T20:14:18.205481" elapsed="0.002220"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-08-18T20:14:18.205317" elapsed="0.002419"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:14:18.207796" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:18.207972" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:14:18.204207" elapsed="0.003790"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.203922" elapsed="0.004107"/>
</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-08-18T20:14:18.208197" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.208052" elapsed="0.000199"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.203903" elapsed="0.004368"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.208964" 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-08-18T20:14:18.208409" elapsed="0.000583"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.209040" 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-08-18T20:14:18.200434" elapsed="0.008730"/>
</kw>
<msg time="2026-08-18T20:14:18.209217" 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-08-18T20:14:18.188712" elapsed="0.020553"/>
</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-08-18T20:14:18.221057" 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-08-18T20:14:18.232597" 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-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-08-18T20:14:18.244165" 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-08-18T20:14:18.244356" 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-08-18T20:14:18.244527" 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-08-18T20:14:18.244901" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.244759" elapsed="0.000197"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:18.244729" elapsed="0.000281"/>
</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-08-18T20:14:18.245151" elapsed="0.000020"/>
</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-08-18T20:14:18.245314" 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-08-18T20:14:18.245475" elapsed="0.000019"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:14:18.244701" elapsed="0.000826"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:14:18.244600" elapsed="0.000953"/>
</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-08-18T20:14:18.245694" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:18.245784" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:14:18.245900" 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-08-18T20:14:18.184721" elapsed="0.061204"/>
</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-08-18T20:14:18.256148" elapsed="0.000330"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.268994" 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-08-18T20:14:18.268608" elapsed="0.000415"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.269709" 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-08-18T20:14:18.269507" elapsed="0.000281">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-08-18T20:14:18.269880" 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-08-18T20:14:18.269179" elapsed="0.000725"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.270438" 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-08-18T20:14:18.270062" elapsed="0.000403"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.270764" 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-08-18T20:14:18.270893" 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-08-18T20:14:18.270619" elapsed="0.000299"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.271308" 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-08-18T20:14:18.271069" elapsed="0.000283"/>
</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-08-18T20:14:18.271701" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.271417" elapsed="0.000357"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.272244" 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-08-18T20:14:18.271956" elapsed="0.000314"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.271806" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.271399" elapsed="0.000926"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.272894" 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-08-18T20:14:18.272464" elapsed="0.000457"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.272969" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:18.273117" 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-08-18T20:14:18.268010" elapsed="0.005131"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.285990" 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-08-18T20:14:18.285603" elapsed="0.000416"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.286704" 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-08-18T20:14:18.286505" elapsed="0.000277">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-08-18T20:14:18.286875" 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-08-18T20:14:18.286178" elapsed="0.000722"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.287431" 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-08-18T20:14:18.287059" elapsed="0.000399"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.287757" 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-08-18T20:14:18.287916" 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-08-18T20:14:18.287613" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.288332" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:18.288094" elapsed="0.000281"/>
</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-08-18T20:14:18.288718" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.288441" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.289246" 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-08-18T20:14:18.288959" elapsed="0.000313"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.288817" elapsed="0.000490"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.288423" elapsed="0.000905"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.289904" 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-08-18T20:14:18.289467" elapsed="0.000464"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.289979" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:18.290129" 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-08-18T20:14:18.284988" elapsed="0.005165"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.302670" 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-08-18T20:14:18.302306" elapsed="0.000392"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.303397" 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-08-18T20:14:18.303195" elapsed="0.000266">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-08-18T20:14:18.303553" 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-08-18T20:14:18.302871" elapsed="0.000706"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.304136" 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-08-18T20:14:18.303739" elapsed="0.000458"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.304491" 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-08-18T20:14:18.304618" 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-08-18T20:14:18.304358" elapsed="0.000286"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.305051" 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-08-18T20:14:18.304811" 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-08-18T20:14:18.305445" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.305164" elapsed="0.000339"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.305973" 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-08-18T20:14:18.305667" elapsed="0.000332"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.305527" elapsed="0.000508"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.305145" elapsed="0.000911"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.306769" 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-08-18T20:14:18.306197" elapsed="0.000602"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.306849" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:18.307003" 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-08-18T20:14:18.301779" elapsed="0.005250"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.307424" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:18.307187" elapsed="0.000263"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.307988" 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-08-18T20:14:18.307603" elapsed="0.000411"/>
</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-08-18T20:14:18.308616" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.308387" elapsed="0.000285"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.308372" elapsed="0.000323"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.309194" 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-08-18T20:14:18.308849" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.310681" 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-08-18T20:14:18.309370" elapsed="0.001340"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.310881" elapsed="0.000186"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-08-18T20:14:18.308342" elapsed="0.002762"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.311510" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.311279" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.311264" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.312274" 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-08-18T20:14:18.311926" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.313029" 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-08-18T20:14:18.312451" 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-08-18T20:14:18.313243" elapsed="0.000183"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-08-18T20:14:18.311235" 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-08-18T20:14:18.313884" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.313637" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.313623" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.314610" 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-08-18T20:14:18.314263" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.315366" 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-08-18T20:14:18.314801" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.315546" elapsed="0.000179"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-08-18T20:14:18.313594" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.316197" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.315967" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.315952" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.316933" 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-08-18T20:14:18.316575" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.317671" 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-08-18T20:14:18.317108" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.317869" elapsed="0.000187"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-08-18T20:14:18.315923" elapsed="0.002170"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.318495" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.318267" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.318252" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.319233" 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-08-18T20:14:18.318889" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.320013" 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-08-18T20:14:18.319408" 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-08-18T20:14:18.320193" elapsed="0.000179"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-08-18T20:14:18.318223" elapsed="0.002185"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.320828" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.320584" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.320569" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.321549" 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-08-18T20:14:18.321206" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.322309" 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-08-18T20:14:18.321725" 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-08-18T20:14:18.322487" elapsed="0.000179"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-08-18T20:14:18.320540" elapsed="0.002163"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.323127" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.322897" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.322883" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.323879" 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-08-18T20:14:18.323506" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.324665" 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-08-18T20:14:18.324094" 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-08-18T20:14:18.324862" elapsed="0.000179"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-08-18T20:14:18.322854" 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-08-18T20:14:18.325489" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.325257" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.325242" elapsed="0.000495"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.326239" 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-08-18T20:14:18.325894" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.327120" 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-08-18T20:14:18.326415" elapsed="0.000734"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.327301" elapsed="0.000181"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-08-18T20:14:18.325214" 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-08-18T20:14:18.327953" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.327692" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.327677" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.328675" 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-08-18T20:14:18.328332" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.329430" 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-08-18T20:14:18.328867" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.329609" elapsed="0.000193"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-08-18T20:14:18.327649" elapsed="0.002190"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.330242" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.330014" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.329999" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.330975" 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-08-18T20:14:18.330617" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.331717" 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-08-18T20:14:18.331150" 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-08-18T20:14:18.331933" elapsed="0.000179"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-08-18T20:14:18.329971" elapsed="0.002178"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.332554" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.332324" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.332309" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.333294" 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-08-18T20:14:18.332951" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.334049" 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-08-18T20:14:18.333470" 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-08-18T20:14:18.334227" elapsed="0.000179"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-08-18T20:14:18.332280" elapsed="0.002162"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.334865" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.334617" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.334603" elapsed="0.000542"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.335634" 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-08-18T20:14:18.335287" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.336410" 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-08-18T20:14:18.335842" elapsed="0.000596"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.336590" elapsed="0.000193"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-08-18T20:14:18.334573" 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-08-18T20:14:18.337227" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.336997" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.336982" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.337968" 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-08-18T20:14:18.337606" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.338708" 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-08-18T20:14:18.338145" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.338903" elapsed="0.000179"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-08-18T20:14:18.336953" elapsed="0.002166"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.339526" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.339295" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.339281" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.340295" 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-08-18T20:14:18.339947" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.341061" 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-08-18T20:14:18.340471" 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-08-18T20:14:18.341241" elapsed="0.000180"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-08-18T20:14:18.339251" elapsed="0.002207"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.341882" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.341635" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.341621" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.342727" 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-08-18T20:14:18.342266" elapsed="0.000502"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.343491" 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-08-18T20:14:18.342924" elapsed="0.000596"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.343672" elapsed="0.000226"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-08-18T20:14:18.341592" 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-08-18T20:14:18.344345" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.344113" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.344098" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.345085" 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-08-18T20:14:18.344723" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.345841" 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-08-18T20:14:18.345262" 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-08-18T20:14:18.346020" elapsed="0.000224"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-08-18T20:14:18.344069" 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-08-18T20:14:18.346690" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.346459" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.346444" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.347431" 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-08-18T20:14:18.347086" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.348205" 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-08-18T20:14:18.347609" 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-08-18T20:14:18.348385" elapsed="0.000179"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-08-18T20:14:18.346415" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.349026" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.348793" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.348777" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.349761" 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-08-18T20:14:18.349404" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.350502" 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-08-18T20:14:18.349940" elapsed="0.000589"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.350680" elapsed="0.000198"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-08-18T20:14:18.348733" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.351326" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.351096" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.351081" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.352077" 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-08-18T20:14:18.351717" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.352832" 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-08-18T20:14:18.352254" 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-08-18T20:14:18.353010" elapsed="0.000177"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-08-18T20:14:18.351052" elapsed="0.002172"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.353629" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.353399" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.353385" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.354366" 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-08-18T20:14:18.354023" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.355119" 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-08-18T20:14:18.354542" 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-08-18T20:14:18.355295" elapsed="0.000178"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-08-18T20:14:18.353356" elapsed="0.002153"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.355963" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.355682" elapsed="0.000499"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.355667" elapsed="0.000538"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.356687" 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-08-18T20:14:18.356343" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.357446" 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-08-18T20:14:18.356880" 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-08-18T20:14:18.357665" elapsed="0.000197"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-08-18T20:14:18.355639" 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-08-18T20:14:18.358307" elapsed="0.000293"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.358077" elapsed="0.000562"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.358062" elapsed="0.000601"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.359168" 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-08-18T20:14:18.358818" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.359953" 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-08-18T20:14:18.359347" 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-08-18T20:14:18.360134" elapsed="0.000178"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-08-18T20:14:18.358033" 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-08-18T20:14:18.360774" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.360527" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.360512" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.361499" 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-08-18T20:14:18.361156" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.362257" 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-08-18T20:14:18.361676" 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-08-18T20:14:18.362437" elapsed="0.000177"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-08-18T20:14:18.360483" elapsed="0.002168"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.363075" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.362844" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.362830" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.363827" 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-08-18T20:14:18.363455" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.364589" 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-08-18T20:14:18.364004" 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-08-18T20:14:18.364781" elapsed="0.000190"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-08-18T20:14:18.362800" 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-08-18T20:14:18.365414" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.365183" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.365169" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.366156" 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-08-18T20:14:18.365809" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.366911" 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-08-18T20:14:18.366333" 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-08-18T20:14:18.367090" elapsed="0.000178"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-08-18T20:14:18.365140" elapsed="0.002165"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.367733" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.367481" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.367466" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.368471" 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-08-18T20:14:18.368129" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.369274" 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-08-18T20:14:18.368686" 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-08-18T20:14:18.369457" elapsed="0.000180"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-08-18T20:14:18.367437" 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-08-18T20:14:18.370100" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.369869" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.369854" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.370842" 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-08-18T20:14:18.370479" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.371583" 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-08-18T20:14:18.371019" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.371792" elapsed="0.000190"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-08-18T20:14:18.369824" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.372429" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.372198" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.372184" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.373168" 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-08-18T20:14:18.372823" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.373922" 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-08-18T20:14:18.373345" 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-08-18T20:14:18.374101" elapsed="0.000179"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-08-18T20:14:18.372155" elapsed="0.002162"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.374852" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.374494" elapsed="0.000578"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.374479" elapsed="0.000618"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.375582" 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-08-18T20:14:18.375237" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.376358" 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-08-18T20:14:18.375792" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.376536" elapsed="0.000178"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-08-18T20:14:18.374450" 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-08-18T20:14:18.377173" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.376942" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.376928" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.377910" 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-08-18T20:14:18.377550" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.378646" 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-08-18T20:14:18.378086" elapsed="0.000588"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.378839" elapsed="0.000179"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-08-18T20:14:18.376899" 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-08-18T20:14:18.379496" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.379229" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.379214" elapsed="0.000565"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.380267" 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-08-18T20:14:18.379920" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.381026" 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-08-18T20:14:18.380444" 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-08-18T20:14:18.381204" elapsed="0.000179"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-08-18T20:14:18.379186" 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-08-18T20:14:18.381838" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.381594" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.381580" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.382562" 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-08-18T20:14:18.382220" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.383317" 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-08-18T20:14:18.382736" 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-08-18T20:14:18.383495" elapsed="0.000201"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-08-18T20:14:18.381551" elapsed="0.002182"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.384173" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.383932" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.383917" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.384914" 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-08-18T20:14:18.384555" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.385652" 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-08-18T20:14:18.385090" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.385846" elapsed="0.000180"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-08-18T20:14:18.383888" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.386469" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.386239" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.386225" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.387203" 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-08-18T20:14:18.386860" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.387975" 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-08-18T20:14:18.387378" 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-08-18T20:14:18.388157" elapsed="0.000180"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-08-18T20:14:18.386196" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.388794" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.388549" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.388534" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.389517" 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-08-18T20:14:18.389176" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.390278" 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-08-18T20:14:18.389692" 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-08-18T20:14:18.390494" elapsed="0.000181"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-08-18T20:14:18.388506" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.391250" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.391011" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.390891" elapsed="0.000603"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.392027" 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-08-18T20:14:18.391633" elapsed="0.000420"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.392783" 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-08-18T20:14:18.392204" 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-08-18T20:14:18.392962" elapsed="0.000178"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-08-18T20:14:18.390861" 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-08-18T20:14:18.393582" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.393353" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.393338" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.394320" 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-08-18T20:14:18.393977" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.395071" 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-08-18T20:14:18.394494" 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-08-18T20:14:18.395250" elapsed="0.000176"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-08-18T20:14:18.393310" elapsed="0.002153"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.395901" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.395637" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.395623" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.396618" 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-08-18T20:14:18.396277" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.397368" 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-08-18T20:14:18.396808" elapsed="0.000588"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.397546" elapsed="0.000178"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-08-18T20:14:18.395595" elapsed="0.002180"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.398181" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.397953" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.397938" elapsed="0.000480"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.398921" 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-08-18T20:14:18.398557" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.399670" 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-08-18T20:14:18.399097" 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-08-18T20:14:18.399863" elapsed="0.000180"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-08-18T20:14:18.397910" elapsed="0.002169"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.400486" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.400257" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.400242" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.401220" 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-08-18T20:14:18.400878" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.402016" 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-08-18T20:14:18.401430" 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-08-18T20:14:18.402196" elapsed="0.000178"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-08-18T20:14:18.400213" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.402831" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.402587" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.402572" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.403555" 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-08-18T20:14:18.403210" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.404341" 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-08-18T20:14:18.403772" 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-08-18T20:14:18.404520" elapsed="0.000179"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-08-18T20:14:18.402544" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.405156" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.404927" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.404912" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.405891" 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-08-18T20:14:18.405534" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.406629" 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-08-18T20:14:18.406067" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.406822" elapsed="0.000179"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-08-18T20:14:18.404884" elapsed="0.002153"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.407551" elapsed="0.000213"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.407317" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.407198" elapsed="0.000629"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.408308" 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-08-18T20:14:18.407966" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.409062" 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-08-18T20:14:18.408484" 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-08-18T20:14:18.409239" elapsed="0.000179"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-08-18T20:14:18.407168" 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-08-18T20:14:18.409874" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.409629" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.409614" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.410599" 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-08-18T20:14:18.410254" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.411352" 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-08-18T20:14:18.410790" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.411529" elapsed="0.000191"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-08-18T20:14:18.409586" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.412182" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.411951" elapsed="0.000484"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.411936" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.412963" 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-08-18T20:14:18.412601" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.413709" 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-08-18T20:14:18.413138" 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-08-18T20:14:18.413902" elapsed="0.000179"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-08-18T20:14:18.411907" 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-08-18T20:14:18.414524" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.414293" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.414279" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.415261" 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-08-18T20:14:18.414918" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.416039" 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-08-18T20:14:18.415436" 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-08-18T20:14:18.416218" elapsed="0.000178"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-08-18T20:14:18.414250" elapsed="0.002182"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.416855" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.416607" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.416593" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.417586" 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-08-18T20:14:18.417244" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.418343" 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-08-18T20:14:18.417777" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.418520" elapsed="0.000179"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-08-18T20:14:18.416564" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.419160" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.418928" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.418913" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.419927" 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-08-18T20:14:18.419539" elapsed="0.000417"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.420676" 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-08-18T20:14:18.420109" 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-08-18T20:14:18.420871" elapsed="0.000179"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-08-18T20:14:18.418883" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.421488" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.421259" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.421245" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.422223" 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-08-18T20:14:18.421881" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.422978" 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-08-18T20:14:18.422400" 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-08-18T20:14:18.423156" elapsed="0.000179"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-08-18T20:14:18.421216" elapsed="0.002198"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.423978" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.423725" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.423586" elapsed="0.000641"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.424707" 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-08-18T20:14:18.424365" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.425463" 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-08-18T20:14:18.424899" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.425642" elapsed="0.000195"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-08-18T20:14:18.423548" 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-08-18T20:14:18.426278" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.426048" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.426033" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.427023" 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-08-18T20:14:18.426657" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.427814" 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-08-18T20:14:18.427200" 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-08-18T20:14:18.427994" elapsed="0.000179"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-08-18T20:14:18.426005" elapsed="0.002204"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.428612" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.428384" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.428369" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.429349" 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-08-18T20:14:18.429007" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.430116" 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-08-18T20:14:18.429525" 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-08-18T20:14:18.430295" elapsed="0.000179"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-08-18T20:14:18.428340" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.430940" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.430684" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.430669" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.431673" 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-08-18T20:14:18.431318" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.432425" 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-08-18T20:14:18.431864" elapsed="0.000589"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.432602" elapsed="0.000194"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-08-18T20:14:18.430641" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.433234" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.433005" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.432990" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.433973" 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-08-18T20:14:18.433612" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.434710" 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-08-18T20:14:18.434148" 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-08-18T20:14:18.434943" elapsed="0.000181"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-08-18T20:14:18.432962" elapsed="0.002198"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.435564" elapsed="0.000217"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.435335" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.435320" elapsed="0.000527"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.436333" 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-08-18T20:14:18.435988" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.437089" 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-08-18T20:14:18.436508" 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-08-18T20:14:18.437268" elapsed="0.000179"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-08-18T20:14:18.435291" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.437911" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.437659" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.437645" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.438632" 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-08-18T20:14:18.438290" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.439383" 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-08-18T20:14:18.438821" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.439561" elapsed="0.000223"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-08-18T20:14:18.437615" elapsed="0.002206"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.440335" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.440101" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.439981" elapsed="0.000595"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.441072" 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-08-18T20:14:18.440713" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.441824" 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-08-18T20:14:18.441248" 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-08-18T20:14:18.442003" elapsed="0.000179"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-08-18T20:14:18.439952" 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-08-18T20:14:18.442622" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.442393" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.442378" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.443445" 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-08-18T20:14:18.443019" elapsed="0.000453"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.444220" 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-08-18T20:14:18.443637" 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-08-18T20:14:18.444399" elapsed="0.000179"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-08-18T20:14:18.442349" 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-08-18T20:14:18.445040" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.444809" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.444794" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.445772" 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-08-18T20:14:18.445415" elapsed="0.000414"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.446544" 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-08-18T20:14:18.445982" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.446721" elapsed="0.000194"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-08-18T20:14:18.444763" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.447354" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.447125" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.447110" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.448105" 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-08-18T20:14:18.447759" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.448856" 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-08-18T20:14:18.448281" 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-08-18T20:14:18.449034" elapsed="0.000178"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-08-18T20:14:18.447082" elapsed="0.002166"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.449650" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.449423" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.449409" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.450397" 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-08-18T20:14:18.450055" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.451145" 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-08-18T20:14:18.450570" 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-08-18T20:14:18.451322" elapsed="0.000177"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-08-18T20:14:18.449380" 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-08-18T20:14:18.451986" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.451754" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.451726" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.452707" 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-08-18T20:14:18.452363" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.453463" 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-08-18T20:14:18.452899" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.453641" elapsed="0.000193"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-08-18T20:14:18.451696" elapsed="0.002175"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.454278" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.454047" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.454032" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.455016" 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-08-18T20:14:18.454655" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.455778" 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-08-18T20:14:18.455190" 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-08-18T20:14:18.455959" elapsed="0.000179"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-08-18T20:14:18.454003" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.456721" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.456453" elapsed="0.000503"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.456334" elapsed="0.000646"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.457464" 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-08-18T20:14:18.457120" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.458222" 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-08-18T20:14:18.457639" 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-08-18T20:14:18.458399" elapsed="0.000178"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-08-18T20:14:18.456305" 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-08-18T20:14:18.459033" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.458803" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.458789" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.459782" 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-08-18T20:14:18.459410" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.460518" 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-08-18T20:14:18.459959" elapsed="0.000587"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.460695" elapsed="0.000195"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-08-18T20:14:18.458758" elapsed="0.002168"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.461330" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.461102" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.461087" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.462066" 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-08-18T20:14:18.461707" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.462818" 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-08-18T20:14:18.462240" 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-08-18T20:14:18.462996" elapsed="0.000177"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-08-18T20:14:18.461058" elapsed="0.002150"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.463641" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.463384" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.463370" elapsed="0.000529"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.464381" 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-08-18T20:14:18.464039" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.465129" 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-08-18T20:14:18.464555" 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-08-18T20:14:18.465305" elapsed="0.000177"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-08-18T20:14:18.463341" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.465940" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.465693" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.465678" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.466656" 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-08-18T20:14:18.466316" elapsed="0.000366"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.467408" 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-08-18T20:14:18.466846" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.467634" elapsed="0.000196"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-08-18T20:14:18.465649" 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-08-18T20:14:18.468275" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.468045" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.468031" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.469017" 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-08-18T20:14:18.468654" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.469773" 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-08-18T20:14:18.469195" 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-08-18T20:14:18.469954" elapsed="0.000178"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-08-18T20:14:18.468002" elapsed="0.002167"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.470573" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.470344" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.470329" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.471310" 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-08-18T20:14:18.470968" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.472081" 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-08-18T20:14:18.471486" 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-08-18T20:14:18.472261" elapsed="0.000178"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-08-18T20:14:18.470301" elapsed="0.002175"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.473015" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.472769" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.472636" elapsed="0.000623"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.473741" 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-08-18T20:14:18.473397" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.474496" 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-08-18T20:14:18.473934" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.474675" elapsed="0.000196"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-08-18T20:14:18.472607" 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-08-18T20:14:18.475312" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.475081" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.475066" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.476073" 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-08-18T20:14:18.475713" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.476823" 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-08-18T20:14:18.476249" 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-08-18T20:14:18.477001" elapsed="0.000177"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-08-18T20:14:18.475038" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.477622" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.477393" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.477378" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.478359" 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-08-18T20:14:18.478017" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.479153" 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-08-18T20:14:18.478570" 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-08-18T20:14:18.479333" elapsed="0.000179"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-08-18T20:14:18.477348" elapsed="0.002201"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.479986" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.479740" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.479725" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.480708" 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-08-18T20:14:18.480364" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.481462" 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-08-18T20:14:18.480900" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.481639" elapsed="0.000195"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-08-18T20:14:18.479696" elapsed="0.002175"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.482275" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.482045" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.482031" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.483017" 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-08-18T20:14:18.482651" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.483784" 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-08-18T20:14:18.483192" 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-08-18T20:14:18.483962" elapsed="0.000182"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-08-18T20:14:18.482002" elapsed="0.002178"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.484584" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.484355" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.484340" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.485319" 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-08-18T20:14:18.484977" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.486076" 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-08-18T20:14:18.485494" 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-08-18T20:14:18.486252" elapsed="0.000179"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-08-18T20:14:18.484311" elapsed="0.002156"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.486890" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.486644" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.486628" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.487637" 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-08-18T20:14:18.487268" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.488405" 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-08-18T20:14:18.487833" 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-08-18T20:14:18.488587" elapsed="0.000199"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-08-18T20:14:18.486599" 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-08-18T20:14:18.489337" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.489103" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.488982" elapsed="0.000630"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.490114" 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-08-18T20:14:18.489767" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.490865" 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-08-18T20:14:18.490289" 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-08-18T20:14:18.491042" elapsed="0.000178"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-08-18T20:14:18.488954" 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-08-18T20:14:18.491672" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.491429" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.491415" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.492408" 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-08-18T20:14:18.492066" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.493163" 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-08-18T20:14:18.492583" 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-08-18T20:14:18.493340" elapsed="0.000178"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-08-18T20:14:18.491386" elapsed="0.002168"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.493974" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.493727" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.493713" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.494695" 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-08-18T20:14:18.494354" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.495449" 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-08-18T20:14:18.494887" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.495644" elapsed="0.000194"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-08-18T20:14:18.493684" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.496281" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.496051" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.496037" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.497028" 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-08-18T20:14:18.496661" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.497783" 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-08-18T20:14:18.497204" 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-08-18T20:14:18.497961" elapsed="0.000177"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-08-18T20:14:18.496008" elapsed="0.002166"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.498580" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.498350" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.498336" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.499315" 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-08-18T20:14:18.498974" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.500099" 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-08-18T20:14:18.499488" 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-08-18T20:14:18.500275" elapsed="0.000176"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-08-18T20:14:18.498307" 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-08-18T20:14:18.500943" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.500696" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.500681" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.501665" 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-08-18T20:14:18.501322" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.502421" 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-08-18T20:14:18.501855" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.502601" elapsed="0.000194"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-08-18T20:14:18.500652" elapsed="0.002180"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.503236" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.503007" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.502993" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.503989" 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-08-18T20:14:18.503628" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.504734" 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-08-18T20:14:18.504168" 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-08-18T20:14:18.504928" elapsed="0.000180"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-08-18T20:14:18.502964" elapsed="0.002180"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.506006" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.505768" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.505304" elapsed="0.000943"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.506728" 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-08-18T20:14:18.506384" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.507485" 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-08-18T20:14:18.506921" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.507677" elapsed="0.000196"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-08-18T20:14:18.505276" elapsed="0.002634"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.508313" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.508084" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.508069" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.509051" 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-08-18T20:14:18.508689" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.509803" 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-08-18T20:14:18.509225" 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-08-18T20:14:18.509981" elapsed="0.000177"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-08-18T20:14:18.508041" elapsed="0.002153"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.510597" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.510368" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.510354" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.511336" 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-08-18T20:14:18.510991" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.512120" 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-08-18T20:14:18.511510" 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-08-18T20:14:18.512333" elapsed="0.000180"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-08-18T20:14:18.510325" 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-08-18T20:14:18.512970" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.512723" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.512709" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.513693" 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-08-18T20:14:18.513349" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.514451" 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-08-18T20:14:18.513886" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.514631" elapsed="0.000195"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-08-18T20:14:18.512680" elapsed="0.002182"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.515269" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.515038" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.515023" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.516035" 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-08-18T20:14:18.515659" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.516789" 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-08-18T20:14:18.516211" 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-08-18T20:14:18.516969" elapsed="0.000180"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-08-18T20:14:18.514994" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.517591" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.517361" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.517346" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.518331" 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-08-18T20:14:18.517986" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.519089" 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-08-18T20:14:18.518507" 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-08-18T20:14:18.519268" elapsed="0.000180"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-08-18T20:14:18.517317" elapsed="0.002167"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.519923" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.519677" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.519663" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.520645" 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-08-18T20:14:18.520301" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.521407" 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-08-18T20:14:18.520837" 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-08-18T20:14:18.521586" elapsed="0.000194"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-08-18T20:14:18.519629" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.522340" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.522102" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.521978" elapsed="0.000605"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.523088" 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-08-18T20:14:18.522723" elapsed="0.000427"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.523919" 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-08-18T20:14:18.523307" 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-08-18T20:14:18.524100" elapsed="0.000181"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-08-18T20:14:18.521949" 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-08-18T20:14:18.524726" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.524492" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.524478" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.525462" 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-08-18T20:14:18.525122" elapsed="0.000365"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.526215" 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-08-18T20:14:18.525636" 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-08-18T20:14:18.526394" elapsed="0.000178"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-08-18T20:14:18.524449" elapsed="0.002159"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.527030" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.526798" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.526782" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.527780" 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-08-18T20:14:18.527407" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.528519" 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-08-18T20:14:18.527957" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.528697" elapsed="0.000194"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-08-18T20:14:18.526738" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.529332" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.529103" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.529089" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.530068" 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-08-18T20:14:18.529711" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.530825" 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-08-18T20:14:18.530244" 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-08-18T20:14:18.531005" elapsed="0.000177"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-08-18T20:14:18.529060" elapsed="0.002158"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.531635" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.531394" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.531379" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.532373" 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-08-18T20:14:18.532031" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.533126" 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-08-18T20:14:18.532548" 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-08-18T20:14:18.533304" elapsed="0.000177"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-08-18T20:14:18.531350" elapsed="0.002167"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.533975" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.533692" elapsed="0.000502"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.533677" elapsed="0.000541"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.534703" 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-08-18T20:14:18.534358" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.535469" 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-08-18T20:14:18.534899" 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-08-18T20:14:18.535675" elapsed="0.000198"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-08-18T20:14:18.533649" 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-08-18T20:14:18.536318" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.536088" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.536073" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.537058" 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-08-18T20:14:18.536697" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.537814" 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-08-18T20:14:18.537234" 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-08-18T20:14:18.537994" elapsed="0.000178"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-08-18T20:14:18.536045" elapsed="0.002162"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.538726" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.538491" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.538369" elapsed="0.000617"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.539468" 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-08-18T20:14:18.539124" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.540245" 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-08-18T20:14:18.539656" 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-08-18T20:14:18.540426" elapsed="0.000180"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-08-18T20:14:18.538340" 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-08-18T20:14:18.541076" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.540839" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.540825" elapsed="0.000491"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.541816" 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-08-18T20:14:18.541455" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.542555" 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-08-18T20:14:18.541992" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.542732" elapsed="0.000195"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-08-18T20:14:18.540795" elapsed="0.002169"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-08-18T20:14:18.308074" elapsed="0.234920"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.544248" 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-08-18T20:14:18.543143" elapsed="0.001133"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.544334" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:14:18.544487" 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-08-18T20:14:18.255291" elapsed="0.289222"/>
</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-08-18T20:14:18.545822" 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-08-18T20:14:18.545557" elapsed="0.000330">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-08-18T20:14:18.545979" 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-08-18T20:14:18.545227" elapsed="0.000775"/>
</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-08-18T20:14:18.546309" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.546072" elapsed="0.000293"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.546871" 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-08-18T20:14:18.546569" elapsed="0.000327"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.546389" elapsed="0.000542"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.546054" elapsed="0.000898"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.549239" 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-08-18T20:14:18.547099" elapsed="0.002167"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:14:18.549316" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:18.549466" 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-08-18T20:14:18.544901" elapsed="0.004590"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.550995" 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-08-18T20:14:18.550735" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.551419" 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-08-18T20:14:18.551186" elapsed="0.000672"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.552255" 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-08-18T20:14:18.552008" elapsed="0.000290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.552678" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:18.552443" elapsed="0.000277"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:18.553515" 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-08-18T20:14:18.553324" elapsed="0.000217"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-08-18T20:14:18.553875" 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-08-18T20:14:18.553686" elapsed="0.000215"/>
</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-08-18T20:14:18.554045" elapsed="0.000185"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.554620" 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-08-18T20:14:18.554380" elapsed="0.000283"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-08-18T20:14:18.554704" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:18.554873" 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-08-18T20:14:18.552929" elapsed="0.001969"/>
</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-08-18T20:14:18.582897" level="INFO">POST Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.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-08-18T20:14:18.583248" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:group=88', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:18.583481" 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-08-18T20:14:18.557119" elapsed="0.026447"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.555115" elapsed="0.028554"/>
</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-08-18T20:14:18.584092" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.583726" elapsed="0.000515"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.554950" elapsed="0.029339"/>
</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-08-18T20:14:18.591469" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:18.586557" elapsed="0.005053"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.586085" elapsed="0.005601"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.586044" elapsed="0.005725"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.594770" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:18.592373" elapsed="0.002443"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.591897" elapsed="0.002953"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.591860" elapsed="0.003014"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.595413" 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-08-18T20:14:18.595043" elapsed="0.000396"/>
</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-08-18T20:14:18.595777" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.595518" elapsed="0.000316"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.596324" 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-08-18T20:14:18.596027" elapsed="0.000324"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.595858" elapsed="0.000528"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.595500" elapsed="0.000907"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.596957" 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-08-18T20:14:18.596573" 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-08-18T20:14:18.597293" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.597053" elapsed="0.000297"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.597860" 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-08-18T20:14:18.597541" elapsed="0.000345"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.597373" elapsed="0.000548"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.597035" elapsed="0.000908"/>
</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-08-18T20:14:18.598090" elapsed="0.000342"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-08-18T20:14:18.598880" 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-08-18T20:14:18.598590" elapsed="0.000316"/>
</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-08-18T20:14:18.599056" elapsed="0.002155"/>
</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-08-18T20:14:18.585094" elapsed="0.016179"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:18.601449" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:18.601345" elapsed="0.000149"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.601327" elapsed="0.000188"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-08-18T20:14:18.603887" 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-08-18T20:14:18.601656" elapsed="0.002257"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-08-18T20:14:18.603961" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:18.604114" 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-08-18T20:14:18.549824" elapsed="0.054315"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.604244" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:18.604394" 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-08-18T20:14:18.174166" elapsed="0.430253"/>
</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-08-18T20:14:18.604762" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.604521" elapsed="0.000310"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.604504" elapsed="0.000350"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.604887" 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-08-18T20:14:18.171529" elapsed="0.433479"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-08-18T20:14:18.160417" elapsed="0.444635"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.605672" 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-08-18T20:14:18.605283" elapsed="0.000417"/>
</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-08-18T20:14:18.646182" 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-08-18T20:14:18.645812" elapsed="0.000398"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.646920" 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-08-18T20:14:18.646692" elapsed="0.000295">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-08-18T20:14:18.647078" 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-08-18T20:14:18.646368" elapsed="0.000734"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.647650" 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-08-18T20:14:18.647261" elapsed="0.000416"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.647982" 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-08-18T20:14:18.648116" 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-08-18T20:14:18.647847" elapsed="0.000295"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.648530" 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-08-18T20:14:18.648291" elapsed="0.000282"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.649505" 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-08-18T20:14:18.649255" elapsed="0.000294"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.649975" 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-08-18T20:14:18.649703" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.650668" 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-08-18T20:14:18.650344" elapsed="0.000350"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-08-18T20:14:18.651668" 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-08-18T20:14:18.651226" elapsed="0.000468"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-08-18T20:14:18.651759" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:14:18.651970" 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-08-18T20:14:18.650894" elapsed="0.001100"/>
</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-08-18T20:14:18.652144" elapsed="0.000266"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:2</var>
<status status="PASS" start="2026-08-18T20:14:18.650215" elapsed="0.002237"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-08-18T20:14:18.650049" elapsed="0.002438"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:14:18.652532" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:18.652686" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:14:18.648939" elapsed="0.003773"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.648639" elapsed="0.004122"/>
</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-08-18T20:14:18.652937" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.652788" elapsed="0.000204"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.648621" elapsed="0.004392"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.653675" 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-08-18T20:14:18.653150" elapsed="0.000552"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.653767" 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-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-08-18T20:14:18.645195" elapsed="0.008703"/>
</kw>
<msg time="2026-08-18T20:14:18.653952" 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-08-18T20:14:18.633363" elapsed="0.020636"/>
</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-08-18T20:14:18.665766" 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-08-18T20:14:18.677339" 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-08-18T20:14:18.688907" 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-08-18T20:14:18.689098" 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-08-18T20:14:18.689268" 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-08-18T20:14:18.689620" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.689481" elapsed="0.000193"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:18.689467" elapsed="0.000229"/>
</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-08-18T20:14:18.689848" 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-08-18T20:14:18.690048" 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-08-18T20:14:18.690211" elapsed="0.000019"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:14:18.689439" elapsed="0.000823"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:14:18.689341" elapsed="0.000947"/>
</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-08-18T20:14:18.690428" elapsed="0.000019"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:18.690502" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:14:18.690616" 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-08-18T20:14:18.629337" elapsed="0.061304"/>
</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-08-18T20:14:18.700920" elapsed="0.000332"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.713763" 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-08-18T20:14:18.713379" elapsed="0.000414"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.714478" 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-08-18T20:14:18.714276" elapsed="0.000264">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-08-18T20:14:18.714631" 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-08-18T20:14:18.713951" elapsed="0.000704"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.715204" 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-08-18T20:14:18.714829" elapsed="0.000402"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.715533" 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-08-18T20:14:18.715655" 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-08-18T20:14:18.715396" elapsed="0.000284"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.716084" 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-08-18T20:14:18.715845" elapsed="0.000283"/>
</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-08-18T20:14:18.716470" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.716192" elapsed="0.000336"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.716996" 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-08-18T20:14:18.716691" elapsed="0.000330"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.716551" elapsed="0.000505"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.716174" elapsed="0.000903"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.717631" 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-08-18T20:14:18.717216" elapsed="0.000441"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.717706" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:18.717873" 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-08-18T20:14:18.712783" elapsed="0.005114"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.730708" 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-08-18T20:14:18.730340" elapsed="0.000396"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.731454" 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-08-18T20:14:18.731236" elapsed="0.000281">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-08-18T20:14:18.731608" 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-08-18T20:14:18.730911" elapsed="0.000721"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.732184" 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-08-18T20:14:18.731807" elapsed="0.000403"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.732497" 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-08-18T20:14:18.732618" 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-08-18T20:14:18.732365" elapsed="0.000278"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.733050" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:18.732809" elapsed="0.000283"/>
</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-08-18T20:14:18.733438" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.733158" elapsed="0.000337"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.733963" 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-08-18T20:14:18.733659" elapsed="0.000330"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.733519" elapsed="0.000504"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.733140" elapsed="0.000904"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.734598" 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-08-18T20:14:18.734184" elapsed="0.000440"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.734672" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:18.734838" 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-08-18T20:14:18.729723" elapsed="0.005140"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.747471" 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-08-18T20:14:18.747076" elapsed="0.000423"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.748204" 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-08-18T20:14:18.748002" elapsed="0.000265">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-08-18T20:14:18.748359" 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-08-18T20:14:18.747657" elapsed="0.000726"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.748939" 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-08-18T20:14:18.748542" elapsed="0.000424"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:18.749254" 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-08-18T20:14:18.749409" 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-08-18T20:14:18.749123" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.749844" 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-08-18T20:14:18.749588" elapsed="0.000303"/>
</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-08-18T20:14:18.750235" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.749957" elapsed="0.000335"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.750756" 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-08-18T20:14:18.750455" elapsed="0.000329"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.750316" elapsed="0.000504"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.749939" elapsed="0.000902"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.751554" 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-08-18T20:14:18.750980" elapsed="0.000603"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.751632" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:18.751804" 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-08-18T20:14:18.746532" elapsed="0.005299"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.752233" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:18.751996" elapsed="0.000262"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.752786" 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-08-18T20:14:18.752412" elapsed="0.000401"/>
</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-08-18T20:14:18.753411" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.753183" elapsed="0.000285"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.753169" elapsed="0.000322"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.753987" 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-08-18T20:14:18.753627" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.754903" 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-08-18T20:14:18.754165" elapsed="0.000766"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.755084" elapsed="0.000186"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-08-18T20:14:18.753139" elapsed="0.002168"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.755730" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.755500" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.755485" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.756474" 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-08-18T20:14:18.756128" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.757231" 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-08-18T20:14:18.756651" 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-08-18T20:14:18.757410" elapsed="0.000179"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-08-18T20:14:18.755456" elapsed="0.002170"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.758050" elapsed="0.000215"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.757816" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.757801" elapsed="0.000527"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.758831" 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-08-18T20:14:18.758468" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.759602" 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-08-18T20:14:18.759009" 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-08-18T20:14:18.759798" elapsed="0.000183"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-08-18T20:14:18.757771" 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-08-18T20:14:18.760423" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.760193" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.760178" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.761167" 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-08-18T20:14:18.760820" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.761923" 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-08-18T20:14:18.761344" 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-08-18T20:14:18.762103" elapsed="0.000177"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-08-18T20:14:18.760149" elapsed="0.002168"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.762723" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.762493" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.762479" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.763475" 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-08-18T20:14:18.763120" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.764233" 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-08-18T20:14:18.763655" 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-08-18T20:14:18.764412" elapsed="0.000180"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-08-18T20:14:18.762450" elapsed="0.002178"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.765053" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.764823" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.764808" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.765788" 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-08-18T20:14:18.765431" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.766526" 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-08-18T20:14:18.765966" elapsed="0.000588"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.766704" elapsed="0.000194"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-08-18T20:14:18.764777" elapsed="0.002158"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.767354" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.767111" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.767096" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.768102" 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-08-18T20:14:18.767738" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.768866" 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-08-18T20:14:18.768282" 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-08-18T20:14:18.769081" elapsed="0.000184"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-08-18T20:14:18.767067" 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-08-18T20:14:18.769710" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.769479" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.769465" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.770452" 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-08-18T20:14:18.770106" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.771357" 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-08-18T20:14:18.770629" elapsed="0.000758"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.771541" elapsed="0.000180"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-08-18T20:14:18.769436" 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-08-18T20:14:18.772185" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.771953" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.771938" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.772935" 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-08-18T20:14:18.772563" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.773678" 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-08-18T20:14:18.773112" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.773873" elapsed="0.000181"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-08-18T20:14:18.771909" elapsed="0.002182"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.774495" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.774265" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.774250" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.775232" 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-08-18T20:14:18.774888" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.776007" 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-08-18T20:14:18.775427" 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-08-18T20:14:18.776186" elapsed="0.000179"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-08-18T20:14:18.774221" elapsed="0.002181"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.776823" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.776578" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.776563" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.777549" 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-08-18T20:14:18.777204" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.778305" 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-08-18T20:14:18.777724" 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-08-18T20:14:18.778484" elapsed="0.000178"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-08-18T20:14:18.776534" elapsed="0.002165"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.779121" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.778890" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.778875" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.779876" 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-08-18T20:14:18.779516" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.780643" 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-08-18T20:14:18.780052" 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-08-18T20:14:18.780878" elapsed="0.000181"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-08-18T20:14:18.778846" 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-08-18T20:14:18.781501" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.781271" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.781257" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.782246" 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-08-18T20:14:18.781901" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.783006" 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-08-18T20:14:18.782424" 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-08-18T20:14:18.783187" elapsed="0.000202"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-08-18T20:14:18.781228" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.783853" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.783607" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.783592" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.784583" 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-08-18T20:14:18.784237" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.785355" 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-08-18T20:14:18.784779" 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-08-18T20:14:18.785535" elapsed="0.000178"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-08-18T20:14:18.783563" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.786177" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.785946" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.785931" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.787033" 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-08-18T20:14:18.786557" elapsed="0.000502"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.787809" 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-08-18T20:14:18.787211" 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-08-18T20:14:18.787988" elapsed="0.000179"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-08-18T20:14:18.785902" 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-08-18T20:14:18.788607" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.788377" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.788362" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.789345" 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-08-18T20:14:18.788999" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.790108" 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-08-18T20:14:18.789521" 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-08-18T20:14:18.790288" elapsed="0.000178"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-08-18T20:14:18.788334" elapsed="0.002169"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.790924" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.790677" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.790663" elapsed="0.000534"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.791704" 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-08-18T20:14:18.791355" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.792469" 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-08-18T20:14:18.791899" 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-08-18T20:14:18.792648" elapsed="0.000195"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-08-18T20:14:18.790634" 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-08-18T20:14:18.793286" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.793056" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.793042" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.794027" 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-08-18T20:14:18.793665" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.794785" 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-08-18T20:14:18.794204" 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-08-18T20:14:18.794966" elapsed="0.000179"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-08-18T20:14:18.793013" elapsed="0.002169"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.795613" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.795383" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.795368" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.796352" 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-08-18T20:14:18.796010" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.797109" 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-08-18T20:14:18.796526" 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-08-18T20:14:18.797286" elapsed="0.000178"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-08-18T20:14:18.795338" elapsed="0.002163"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.797923" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.797677" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.797662" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.798643" 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-08-18T20:14:18.798301" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.799409" 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-08-18T20:14:18.798832" 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-08-18T20:14:18.799588" elapsed="0.000195"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-08-18T20:14:18.797634" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.800231" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.800001" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.799985" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.800969" 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-08-18T20:14:18.800610" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.801709" 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-08-18T20:14:18.801144" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.801903" elapsed="0.000180"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-08-18T20:14:18.799954" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.802568" elapsed="0.000307"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.802337" elapsed="0.000576"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.802322" elapsed="0.000615"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.803440" 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-08-18T20:14:18.803076" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.804237" 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-08-18T20:14:18.803646" 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-08-18T20:14:18.804416" elapsed="0.000180"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-08-18T20:14:18.802293" 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-08-18T20:14:18.805054" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.804824" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.804810" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.805792" 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-08-18T20:14:18.805430" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.806527" 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-08-18T20:14:18.805967" elapsed="0.000588"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.806705" elapsed="0.000196"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-08-18T20:14:18.804779" elapsed="0.002159"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.807374" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.807112" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.807098" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.808114" 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-08-18T20:14:18.807769" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.808865" 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-08-18T20:14:18.808288" 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-08-18T20:14:18.809043" elapsed="0.000179"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-08-18T20:14:18.807069" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.809659" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.809431" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.809417" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.810398" 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-08-18T20:14:18.810056" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.811149" 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-08-18T20:14:18.810574" 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-08-18T20:14:18.811347" elapsed="0.000184"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-08-18T20:14:18.809389" elapsed="0.002178"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.811988" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.811755" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.811726" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.812707" 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-08-18T20:14:18.812365" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.813461" 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-08-18T20:14:18.812899" 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-08-18T20:14:18.813676" elapsed="0.000197"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-08-18T20:14:18.811697" 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-08-18T20:14:18.814315" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.814085" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.814070" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.815052" 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-08-18T20:14:18.814692" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.815831" 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-08-18T20:14:18.815229" 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-08-18T20:14:18.816011" elapsed="0.000179"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-08-18T20:14:18.814041" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.816631" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.816402" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.816388" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.817370" 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-08-18T20:14:18.817028" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.818137" 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-08-18T20:14:18.817546" 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-08-18T20:14:18.818316" elapsed="0.000177"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-08-18T20:14:18.816359" elapsed="0.002170"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.819059" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.818706" elapsed="0.000594"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.818690" elapsed="0.000636"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.819831" 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-08-18T20:14:18.819470" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.820567" 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-08-18T20:14:18.820007" elapsed="0.000588"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.820759" elapsed="0.000182"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-08-18T20:14:18.818661" 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-08-18T20:14:18.821378" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.821151" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.821136" elapsed="0.000480"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.822112" 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-08-18T20:14:18.821767" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.822860" 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-08-18T20:14:18.822288" 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-08-18T20:14:18.823038" elapsed="0.000179"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-08-18T20:14:18.821107" elapsed="0.002147"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.823674" elapsed="0.000205"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.823443" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.823428" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.824423" 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-08-18T20:14:18.824078" elapsed="0.000408"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.825225" 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-08-18T20:14:18.824638" 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-08-18T20:14:18.825403" elapsed="0.000179"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-08-18T20:14:18.823399" 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-08-18T20:14:18.826038" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.825809" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.825794" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.826769" 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-08-18T20:14:18.826414" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.827521" 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-08-18T20:14:18.826948" 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-08-18T20:14:18.827702" elapsed="0.000195"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-08-18T20:14:18.825763" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.828339" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.828110" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.828095" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.829077" 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-08-18T20:14:18.828717" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.829830" 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-08-18T20:14:18.829253" 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-08-18T20:14:18.830008" elapsed="0.000178"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-08-18T20:14:18.828066" elapsed="0.002157"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.830626" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.830398" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.830384" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.831387" 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-08-18T20:14:18.831021" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.832148" 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-08-18T20:14:18.831563" 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-08-18T20:14:18.832328" elapsed="0.000178"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-08-18T20:14:18.830355" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.832965" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.832717" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.832703" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.833690" 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-08-18T20:14:18.833346" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.834455" 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-08-18T20:14:18.833883" 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-08-18T20:14:18.834634" elapsed="0.000194"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-08-18T20:14:18.832674" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.835959" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.835669" elapsed="0.000515"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.835026" elapsed="0.001182"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.836697" 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-08-18T20:14:18.836347" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.837455" 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-08-18T20:14:18.836890" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.837634" elapsed="0.000198"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-08-18T20:14:18.834997" elapsed="0.002873"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.838275" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.838045" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.838030" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.839015" 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-08-18T20:14:18.838652" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.839782" 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-08-18T20:14:18.839190" 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-08-18T20:14:18.839971" elapsed="0.000178"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-08-18T20:14:18.838001" elapsed="0.002185"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.840586" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.840357" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.840343" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.841322" 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-08-18T20:14:18.840978" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.842075" 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-08-18T20:14:18.841495" 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-08-18T20:14:18.842252" elapsed="0.000179"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-08-18T20:14:18.840315" elapsed="0.002151"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.842882" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.842639" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.842625" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.843628" 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-08-18T20:14:18.843278" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.844392" 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-08-18T20:14:18.843819" 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-08-18T20:14:18.844571" elapsed="0.000203"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-08-18T20:14:18.842596" 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-08-18T20:14:18.845215" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.844985" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.844971" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.845954" 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-08-18T20:14:18.845594" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.846695" 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-08-18T20:14:18.846130" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.846923" elapsed="0.000180"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-08-18T20:14:18.844942" elapsed="0.002198"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.847560" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.847330" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.847316" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.848300" 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-08-18T20:14:18.847955" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.849061" 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-08-18T20:14:18.848475" 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-08-18T20:14:18.849240" elapsed="0.000179"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-08-18T20:14:18.847284" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.849878" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.849631" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.849616" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.850606" 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-08-18T20:14:18.850260" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.851393" 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-08-18T20:14:18.850802" 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-08-18T20:14:18.851573" elapsed="0.000194"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-08-18T20:14:18.849587" 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-08-18T20:14:18.852329" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.852091" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.851969" elapsed="0.000604"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.853074" 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-08-18T20:14:18.852712" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.853832" 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-08-18T20:14:18.853251" 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-08-18T20:14:18.854012" elapsed="0.000178"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-08-18T20:14:18.851939" 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-08-18T20:14:18.854633" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.854403" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.854388" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.855406" 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-08-18T20:14:18.855035" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.856160" 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-08-18T20:14:18.855582" 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-08-18T20:14:18.856337" elapsed="0.000179"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-08-18T20:14:18.854360" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.856979" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.856729" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.856714" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.857701" 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-08-18T20:14:18.857356" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.858500" 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-08-18T20:14:18.857931" 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-08-18T20:14:18.858680" elapsed="0.000197"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-08-18T20:14:18.856685" 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-08-18T20:14:18.859339" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.859093" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.859079" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.860082" 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-08-18T20:14:18.859720" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.860836" 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-08-18T20:14:18.860258" 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-08-18T20:14:18.861015" elapsed="0.000177"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-08-18T20:14:18.859049" elapsed="0.002179"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.861635" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.861404" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.861389" elapsed="0.000515"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.862387" 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-08-18T20:14:18.862043" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.863144" 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-08-18T20:14:18.862562" 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-08-18T20:14:18.863336" elapsed="0.000181"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-08-18T20:14:18.861360" elapsed="0.002193"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.863978" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.863729" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.863714" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.864705" 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-08-18T20:14:18.864358" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.865467" 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-08-18T20:14:18.864900" elapsed="0.000596"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.865649" elapsed="0.000196"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-08-18T20:14:18.863685" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.866293" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.866061" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.866047" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.867038" 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-08-18T20:14:18.866674" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.867828" 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-08-18T20:14:18.867215" 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-08-18T20:14:18.868008" elapsed="0.000179"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-08-18T20:14:18.866017" elapsed="0.002207"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.868766" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.868514" elapsed="0.000508"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.868388" elapsed="0.000661"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.869541" 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-08-18T20:14:18.869192" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.870297" 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-08-18T20:14:18.869718" 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-08-18T20:14:18.870477" elapsed="0.000180"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-08-18T20:14:18.868359" 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-08-18T20:14:18.871120" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.870890" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.870875" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.871879" 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-08-18T20:14:18.871516" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.872620" 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-08-18T20:14:18.872057" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.872815" elapsed="0.000180"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-08-18T20:14:18.870845" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.873439" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.873210" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.873195" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.874185" 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-08-18T20:14:18.873839" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.874938" 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-08-18T20:14:18.874359" 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-08-18T20:14:18.875115" elapsed="0.000194"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-08-18T20:14:18.873166" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.875785" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.875526" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.875512" elapsed="0.000519"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.876513" 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-08-18T20:14:18.876170" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.877267" 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-08-18T20:14:18.876690" 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-08-18T20:14:18.877444" elapsed="0.000178"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-08-18T20:14:18.875483" elapsed="0.002175"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.878083" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.877852" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.877837" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.878820" 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-08-18T20:14:18.878459" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.879633" 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-08-18T20:14:18.878996" 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-08-18T20:14:18.879826" elapsed="0.000181"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-08-18T20:14:18.877807" 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-08-18T20:14:18.880494" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.880260" elapsed="0.000454"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.880244" elapsed="0.000494"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.881241" 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-08-18T20:14:18.880894" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.882005" 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-08-18T20:14:18.881417" 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-08-18T20:14:18.882186" elapsed="0.000181"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-08-18T20:14:18.880215" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.882826" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.882581" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.882566" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.883564" 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-08-18T20:14:18.883209" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.884328" 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-08-18T20:14:18.883758" 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-08-18T20:14:18.884507" elapsed="0.000179"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-08-18T20:14:18.882538" elapsed="0.002184"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.885263" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.885026" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.884903" elapsed="0.000603"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.886009" 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-08-18T20:14:18.885645" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.886763" 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-08-18T20:14:18.886186" 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-08-18T20:14:18.886944" elapsed="0.000179"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-08-18T20:14:18.884874" 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-08-18T20:14:18.887587" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.887354" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.887339" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.888333" 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-08-18T20:14:18.887988" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.889088" 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-08-18T20:14:18.888510" 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-08-18T20:14:18.889266" elapsed="0.000177"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-08-18T20:14:18.887309" elapsed="0.002170"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.889907" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.889657" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.889642" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.890631" 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-08-18T20:14:18.890287" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.891412" 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-08-18T20:14:18.890820" 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-08-18T20:14:18.891626" elapsed="0.000197"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-08-18T20:14:18.889614" 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-08-18T20:14:18.892267" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.892036" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.892022" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.893015" 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-08-18T20:14:18.892649" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.893769" 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-08-18T20:14:18.893191" 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-08-18T20:14:18.893949" elapsed="0.000180"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-08-18T20:14:18.891993" elapsed="0.002173"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.894569" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.894341" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.894326" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.895319" 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-08-18T20:14:18.894962" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.896073" 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-08-18T20:14:18.895493" 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-08-18T20:14:18.896249" elapsed="0.000178"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-08-18T20:14:18.894298" elapsed="0.002165"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.896881" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.896635" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.896620" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.897604" 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-08-18T20:14:18.897261" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.898358" 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-08-18T20:14:18.897794" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.898534" elapsed="0.000177"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-08-18T20:14:18.896592" elapsed="0.002169"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.899167" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.898937" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.898923" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.899923" 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-08-18T20:14:18.899563" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.900660" 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-08-18T20:14:18.900097" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.900853" elapsed="0.000180"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-08-18T20:14:18.898894" elapsed="0.002175"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.901584" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.901350" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.901228" elapsed="0.000613"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.902324" 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-08-18T20:14:18.901979" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.903117" 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-08-18T20:14:18.902535" 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-08-18T20:14:18.903318" elapsed="0.000181"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-08-18T20:14:18.901200" 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-08-18T20:14:18.903957" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.903710" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.903695" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.904676" 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-08-18T20:14:18.904334" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.905427" 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-08-18T20:14:18.904867" elapsed="0.000588"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.905603" elapsed="0.000194"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-08-18T20:14:18.903667" elapsed="0.002167"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.906240" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.906009" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.905994" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.906980" 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-08-18T20:14:18.906619" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.907735" 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-08-18T20:14:18.907156" 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-08-18T20:14:18.907929" elapsed="0.000179"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-08-18T20:14:18.905965" elapsed="0.002180"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.908549" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.908319" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.908305" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.909293" 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-08-18T20:14:18.908946" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.910050" 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-08-18T20:14:18.909468" 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-08-18T20:14:18.910227" elapsed="0.000179"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-08-18T20:14:18.908276" elapsed="0.002167"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.910870" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.910618" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.910602" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.911612" 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-08-18T20:14:18.911266" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.912368" 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-08-18T20:14:18.911805" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.912545" elapsed="0.000185"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-08-18T20:14:18.910573" elapsed="0.002209"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.913232" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.912961" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.912945" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.913979" 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-08-18T20:14:18.913616" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.914724" 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-08-18T20:14:18.914155" 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-08-18T20:14:18.914919" elapsed="0.000180"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-08-18T20:14:18.912915" 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-08-18T20:14:18.915569" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.915337" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.915322" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.916314" 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-08-18T20:14:18.915969" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.917084" 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-08-18T20:14:18.916491" 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-08-18T20:14:18.917265" elapsed="0.000179"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-08-18T20:14:18.915292" elapsed="0.002188"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.918016" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.917777" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.917641" elapsed="0.000618"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.918756" 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-08-18T20:14:18.918397" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.919514" 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-08-18T20:14:18.918936" 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-08-18T20:14:18.919695" elapsed="0.000196"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-08-18T20:14:18.917612" 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-08-18T20:14:18.920332" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.920103" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.920089" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.921074" 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-08-18T20:14:18.920713" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.921825" 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-08-18T20:14:18.921250" 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-08-18T20:14:18.922003" elapsed="0.000178"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-08-18T20:14:18.920060" elapsed="0.002157"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.922621" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.922391" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.922376" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.923375" 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-08-18T20:14:18.923014" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.924139" 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-08-18T20:14:18.923551" 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-08-18T20:14:18.924353" elapsed="0.000180"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-08-18T20:14:18.922348" 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-08-18T20:14:18.924996" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.924760" elapsed="0.000452"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.924730" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.925718" 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-08-18T20:14:18.925375" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.926474" 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-08-18T20:14:18.925911" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.926651" elapsed="0.000193"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-08-18T20:14:18.924701" elapsed="0.002179"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.927309" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.927054" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.927040" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.928049" 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-08-18T20:14:18.927689" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.928805" 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-08-18T20:14:18.928227" 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-08-18T20:14:18.928984" elapsed="0.000180"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-08-18T20:14:18.927010" elapsed="0.002190"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.929606" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.929375" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.929360" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.930343" 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-08-18T20:14:18.929999" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.931104" 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-08-18T20:14:18.930519" 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-08-18T20:14:18.931303" elapsed="0.000179"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-08-18T20:14:18.929330" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.931941" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.931694" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.931678" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.932666" 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-08-18T20:14:18.932323" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.933424" 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-08-18T20:14:18.932860" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.933600" elapsed="0.000195"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-08-18T20:14:18.931649" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.934352" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.934115" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.933993" elapsed="0.000601"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.935092" 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-08-18T20:14:18.934732" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.935903" 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-08-18T20:14:18.935319" 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-08-18T20:14:18.936086" elapsed="0.000180"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-08-18T20:14:18.933963" 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-08-18T20:14:18.936708" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.936479" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.936464" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.937448" 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-08-18T20:14:18.937106" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.938201" 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-08-18T20:14:18.937623" 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-08-18T20:14:18.938379" elapsed="0.000177"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-08-18T20:14:18.936435" elapsed="0.002158"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.939014" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.938783" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.938767" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.939780" 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-08-18T20:14:18.939418" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.940524" 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-08-18T20:14:18.939963" elapsed="0.000588"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.940700" elapsed="0.000202"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-08-18T20:14:18.938723" 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-08-18T20:14:18.941342" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.941112" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.941098" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.942083" 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-08-18T20:14:18.941721" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.942836" 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-08-18T20:14:18.942259" 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-08-18T20:14:18.943013" elapsed="0.000193"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-08-18T20:14:18.941069" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.943649" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.943419" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.943404" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.944385" 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-08-18T20:14:18.944042" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.945134" 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-08-18T20:14:18.944558" 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-08-18T20:14:18.945311" elapsed="0.000177"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-08-18T20:14:18.943375" elapsed="0.002149"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.945949" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.945700" elapsed="0.000495"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.945683" elapsed="0.000539"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.946708" 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-08-18T20:14:18.946363" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.947500" 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-08-18T20:14:18.946900" 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-08-18T20:14:18.947685" elapsed="0.000205"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-08-18T20:14:18.945654" 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-08-18T20:14:18.948333" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.948103" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.948089" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.949074" 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-08-18T20:14:18.948713" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.949835" 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-08-18T20:14:18.949251" 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-08-18T20:14:18.950021" elapsed="0.000179"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-08-18T20:14:18.948059" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.950769" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.950516" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.950398" elapsed="0.000618"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.951514" 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-08-18T20:14:18.951153" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.952272" 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-08-18T20:14:18.951689" 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-08-18T20:14:18.952450" elapsed="0.000178"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-08-18T20:14:18.950369" 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-08-18T20:14:18.953084" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.952855" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.952840" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.953828" 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-08-18T20:14:18.953463" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.954566" 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-08-18T20:14:18.954004" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.954756" elapsed="0.000182"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-08-18T20:14:18.952811" elapsed="0.002163"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.955393" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.955147" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.955133" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.956131" 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-08-18T20:14:18.955785" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.956884" 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-08-18T20:14:18.956306" 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-08-18T20:14:18.957061" elapsed="0.000179"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-08-18T20:14:18.955104" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.957723" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.957486" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.957471" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.958469" 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-08-18T20:14:18.958117" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.959258" 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-08-18T20:14:18.958644" 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-08-18T20:14:18.959437" elapsed="0.000179"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-08-18T20:14:18.957442" elapsed="0.002210"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.960074" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.959845" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.959830" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.960809" 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-08-18T20:14:18.960451" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.961544" 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-08-18T20:14:18.960983" elapsed="0.000589"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.961721" elapsed="0.000195"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-08-18T20:14:18.959800" elapsed="0.002153"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.962355" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.962126" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.962111" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.963092" 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-08-18T20:14:18.962733" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.963864" 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-08-18T20:14:18.963285" 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-08-18T20:14:18.964041" elapsed="0.000179"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-08-18T20:14:18.962083" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.964661" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.964431" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.964417" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.965400" 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-08-18T20:14:18.965058" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.966154" 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-08-18T20:14:18.965574" 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-08-18T20:14:18.966331" elapsed="0.000178"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-08-18T20:14:18.964388" elapsed="0.002157"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.967080" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.966842" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.966705" elapsed="0.000631"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.967834" 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-08-18T20:14:18.967473" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.968570" 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-08-18T20:14:18.968009" 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-08-18T20:14:18.968798" elapsed="0.000181"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-08-18T20:14:18.966676" 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-08-18T20:14:18.969418" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.969189" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.969174" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.970160" 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-08-18T20:14:18.969815" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.970912" 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-08-18T20:14:18.970335" 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-08-18T20:14:18.971089" elapsed="0.000203"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-08-18T20:14:18.969145" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.971737" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.971507" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.971493" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.972472" 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-08-18T20:14:18.972130" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.973235" 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-08-18T20:14:18.972647" 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-08-18T20:14:18.973412" elapsed="0.000182"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-08-18T20:14:18.971460" elapsed="0.002169"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.974052" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.973823" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.973808" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.974788" 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-08-18T20:14:18.974430" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.975540" 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-08-18T20:14:18.974964" 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-08-18T20:14:18.975718" elapsed="0.000193"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-08-18T20:14:18.973777" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.976351" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.976122" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.976107" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.977084" 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-08-18T20:14:18.976726" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.977833" 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-08-18T20:14:18.977259" 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-08-18T20:14:18.978009" elapsed="0.000177"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-08-18T20:14:18.976078" elapsed="0.002145"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.978624" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.978397" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.978382" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.979377" 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-08-18T20:14:18.979016" elapsed="0.000420"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.980176" 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-08-18T20:14:18.979591" 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-08-18T20:14:18.980354" elapsed="0.000179"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-08-18T20:14:18.978353" 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-08-18T20:14:18.980995" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.980762" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.980732" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.981719" 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-08-18T20:14:18.981375" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.982476" 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-08-18T20:14:18.981913" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.982664" elapsed="0.000201"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-08-18T20:14:18.980702" elapsed="0.002201"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:18.983457" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.983219" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.983068" elapsed="0.000634"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.984204" 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-08-18T20:14:18.983857" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.984960" 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-08-18T20:14:18.984382" 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-08-18T20:14:18.985139" elapsed="0.000178"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-08-18T20:14:18.983039" 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-08-18T20:14:18.985771" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.985528" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.985514" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.986491" 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-08-18T20:14:18.986150" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.987256" 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-08-18T20:14:18.986665" 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-08-18T20:14:18.987435" elapsed="0.000182"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-08-18T20:14:18.985485" elapsed="0.002168"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-08-18T20:14:18.752868" elapsed="0.234815"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.988956" 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-08-18T20:14:18.987848" elapsed="0.001136"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:18.989042" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:18.989192" 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-08-18T20:14:18.700073" elapsed="0.289146"/>
</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-08-18T20:14:18.990485" 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-08-18T20:14:18.990254" elapsed="0.000294">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-08-18T20:14:18.990639" 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-08-18T20:14:18.989924" elapsed="0.000739"/>
</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-08-18T20:14:18.990986" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:18.990732" elapsed="0.000310"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.991543" 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-08-18T20:14:18.991257" elapsed="0.000311"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.991066" elapsed="0.000536"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.990714" elapsed="0.000909"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.993887" 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-08-18T20:14:18.991787" elapsed="0.002126"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:14:18.993963" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:18.994115" 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-08-18T20:14:18.989587" elapsed="0.004552"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.995662" 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-08-18T20:14:18.995417" elapsed="0.000289"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.996103" 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-08-18T20:14:18.995868" elapsed="0.000643"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.996922" 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-08-18T20:14:18.996661" elapsed="0.000305"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.997348" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:18.997114" elapsed="0.000276"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:18.998183" 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-08-18T20:14:18.997996" elapsed="0.000213"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-08-18T20:14:18.998526" 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-08-18T20:14:18.998357" elapsed="0.000194"/>
</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-08-18T20:14:18.998695" elapsed="0.000199"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:18.999301" 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-08-18T20:14:18.999043" elapsed="0.000301"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-08-18T20:14:18.999386" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:18.999537" 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-08-18T20:14:18.997584" elapsed="0.001977"/>
</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-08-18T20:14:19.026944" level="INFO">POST Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.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-08-18T20:14:19.027116" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:group=88', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:19.027221" 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-08-18T20:14:19.001773" elapsed="0.025479"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:18.999792" elapsed="0.027507"/>
</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-08-18T20:14:19.027474" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.027325" elapsed="0.000216"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:18.999613" elapsed="0.027949"/>
</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-08-18T20:14:19.030820" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.028581" elapsed="0.002281"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.028365" elapsed="0.002532"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.028347" elapsed="0.002575"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.033389" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.031202" elapsed="0.002232"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.030977" elapsed="0.002491"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.030960" elapsed="0.002533"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.034056" 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-08-18T20:14:19.033665" elapsed="0.000419"/>
</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-08-18T20:14:19.034400" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.034153" elapsed="0.000306"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.034964" 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-08-18T20:14:19.034649" elapsed="0.000342"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.034482" elapsed="0.000545"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.034135" elapsed="0.000913"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.035611" 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-08-18T20:14:19.035241" 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-08-18T20:14:19.035966" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.035707" elapsed="0.000317"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.036505" 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-08-18T20:14:19.036216" elapsed="0.000315"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.036047" elapsed="0.000519"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.035690" elapsed="0.000897"/>
</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-08-18T20:14:19.036732" elapsed="0.000356"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-08-18T20:14:19.037520" 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-08-18T20:14:19.037249" elapsed="0.000296"/>
</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-08-18T20:14:19.037694" elapsed="0.002214"/>
</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-08-18T20:14:19.027930" elapsed="0.012041"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:19.040148" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:19.040042" elapsed="0.000150"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.040024" elapsed="0.000190"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-08-18T20:14:19.042615" 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-08-18T20:14:19.040356" elapsed="0.002286"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-08-18T20:14:19.042695" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:19.042863" 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-08-18T20:14:18.994455" elapsed="0.048433"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.042993" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:19.043156" 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-08-18T20:14:18.618714" elapsed="0.424467"/>
</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-08-18T20:14:19.043517" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.043287" elapsed="0.000299"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.043271" elapsed="0.000338"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.043642" 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-08-18T20:14:18.616276" elapsed="0.427501"/>
</kw>
<var name="${switch}">2</var>
<status status="PASS" start="2026-08-18T20:14:18.605145" elapsed="0.438678"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.044443" 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-08-18T20:14:19.044056" elapsed="0.000415"/>
</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-08-18T20:14:19.086087" 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-08-18T20:14:19.085702" elapsed="0.000413"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.086820" 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-08-18T20:14:19.086601" elapsed="0.000284">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-08-18T20:14:19.086977" 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-08-18T20:14:19.086274" elapsed="0.000728"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.087556" 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-08-18T20:14:19.087177" elapsed="0.000407"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.087888" 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-08-18T20:14:19.088015" 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-08-18T20:14:19.087739" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.088430" 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-08-18T20:14:19.088193" elapsed="0.000282"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.089409" 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-08-18T20:14:19.089159" elapsed="0.000293"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.089877" 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-08-18T20:14:19.089605" elapsed="0.000298"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.090561" 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-08-18T20:14:19.090239" elapsed="0.000348"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-08-18T20:14:19.091556" 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-08-18T20:14:19.091142" elapsed="0.000440"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-08-18T20:14:19.091630" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:14:19.091839" 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-08-18T20:14:19.090790" elapsed="0.001074"/>
</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-08-18T20:14:19.092013" elapsed="0.000264"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:3</var>
<status status="PASS" start="2026-08-18T20:14:19.090110" elapsed="0.002208"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-08-18T20:14:19.089950" elapsed="0.002404"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:14:19.092397" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:19.092550" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:14:19.088843" elapsed="0.003732"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.088541" elapsed="0.004066"/>
</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-08-18T20:14:19.092799" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.092631" elapsed="0.000225"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.088522" elapsed="0.004355"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.093536" 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-08-18T20:14:19.093016" elapsed="0.000547"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.093611" 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-08-18T20:14:19.085096" elapsed="0.008636"/>
</kw>
<msg time="2026-08-18T20:14:19.093808" 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-08-18T20:14:19.072889" elapsed="0.020968"/>
</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-08-18T20:14:19.106050" 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-08-18T20:14:19.117674" 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-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-08-18T20:14:19.129235" 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-08-18T20:14:19.129425" elapsed="0.000020"/>
</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-08-18T20:14:19.129595" 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-08-18T20:14:19.129966" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.129825" elapsed="0.000196"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:19.129811" elapsed="0.000232"/>
</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-08-18T20:14:19.130178" elapsed="0.000020"/>
</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-08-18T20:14:19.130377" 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-08-18T20:14:19.130542" elapsed="0.000019"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:14:19.129781" elapsed="0.000812"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:14:19.129668" elapsed="0.000951"/>
</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-08-18T20:14:19.130780" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:19.130856" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:14:19.130971" 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-08-18T20:14:19.068717" elapsed="0.062279"/>
</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-08-18T20:14:19.141248" elapsed="0.000331"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.154048" 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-08-18T20:14:19.153661" elapsed="0.000416"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.154776" 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-08-18T20:14:19.154558" elapsed="0.000283">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-08-18T20:14:19.154932" 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-08-18T20:14:19.154235" elapsed="0.000722"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.155525" 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-08-18T20:14:19.155150" elapsed="0.000401"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.155854" 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-08-18T20:14:19.155974" 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-08-18T20:14:19.155706" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.156384" 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-08-18T20:14:19.156148" elapsed="0.000279"/>
</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-08-18T20:14:19.156786" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.156491" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.157299" 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-08-18T20:14:19.157010" elapsed="0.000314"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.156868" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.156473" elapsed="0.000907"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.157952" 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-08-18T20:14:19.157519" elapsed="0.000460"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.158028" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:19.158177" 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-08-18T20:14:19.153057" elapsed="0.005145"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.171014" 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-08-18T20:14:19.170610" elapsed="0.000433"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.171732" 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-08-18T20:14:19.171530" elapsed="0.000282">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-08-18T20:14:19.171904" 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-08-18T20:14:19.171202" elapsed="0.000727"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.172465" 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-08-18T20:14:19.172091" elapsed="0.000400"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.172792" 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-08-18T20:14:19.172914" 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-08-18T20:14:19.172647" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.173329" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.173091" elapsed="0.000281"/>
</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-08-18T20:14:19.173714" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.173438" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.174242" 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-08-18T20:14:19.173954" elapsed="0.000314"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.173812" elapsed="0.000490"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.173419" elapsed="0.000904"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.174902" 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-08-18T20:14:19.174465" elapsed="0.000463"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.174989" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:14:19.175141" 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-08-18T20:14:19.170005" elapsed="0.005161"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.187679" 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-08-18T20:14:19.187307" elapsed="0.000399"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.188401" 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-08-18T20:14:19.188200" elapsed="0.000263">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-08-18T20:14:19.188554" 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-08-18T20:14:19.187876" elapsed="0.000702"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.189129" 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-08-18T20:14:19.188736" elapsed="0.000420"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.189441" 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-08-18T20:14:19.189601" 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-08-18T20:14:19.189310" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.190036" 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-08-18T20:14:19.189795" 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-08-18T20:14:19.190430" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.190150" elapsed="0.000337"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.190992" 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-08-18T20:14:19.190651" elapsed="0.000368"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.190511" elapsed="0.000543"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.190132" elapsed="0.000943"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.191797" 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-08-18T20:14:19.191217" elapsed="0.000610"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.191876" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:19.192028" 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-08-18T20:14:19.186763" elapsed="0.005291"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.192448" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:19.192211" elapsed="0.000262"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.192998" 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-08-18T20:14:19.192625" elapsed="0.000398"/>
</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-08-18T20:14:19.193629" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.193399" elapsed="0.000286"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.193380" elapsed="0.000328"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.194208" 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-08-18T20:14:19.193862" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.195135" 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-08-18T20:14:19.194383" elapsed="0.000781"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.195320" elapsed="0.000184"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-08-18T20:14:19.193349" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.195964" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.195715" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.195700" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.196714" 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-08-18T20:14:19.196343" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.197476" 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-08-18T20:14:19.196908" elapsed="0.000596"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.197655" elapsed="0.000199"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-08-18T20:14:19.195671" 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-08-18T20:14:19.198296" elapsed="0.000216"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.198065" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.198050" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.199090" 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-08-18T20:14:19.198714" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.199861" 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-08-18T20:14:19.199269" 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-08-18T20:14:19.200040" elapsed="0.000181"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-08-18T20:14:19.198021" 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-08-18T20:14:19.200663" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.200433" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.200418" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.201406" 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-08-18T20:14:19.201063" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.202159" 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-08-18T20:14:19.201582" 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-08-18T20:14:19.202338" elapsed="0.000179"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-08-18T20:14:19.200389" elapsed="0.002164"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.202999" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.202729" elapsed="0.000489"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.202714" elapsed="0.000530"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.203728" 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-08-18T20:14:19.203385" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.204478" 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-08-18T20:14:19.203920" elapsed="0.000585"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.204656" elapsed="0.000195"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-08-18T20:14:19.202685" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.205292" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.205064" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.205050" elapsed="0.000479"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.206027" 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-08-18T20:14:19.205669" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.206771" 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-08-18T20:14:19.206202" 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-08-18T20:14:19.206959" elapsed="0.000178"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-08-18T20:14:19.205021" elapsed="0.002151"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.207575" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.207347" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.207332" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.208312" 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-08-18T20:14:19.207971" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.209062" 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-08-18T20:14:19.208486" 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-08-18T20:14:19.209275" elapsed="0.000179"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-08-18T20:14:19.207304" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.209919" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.209669" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.209654" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.210648" 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-08-18T20:14:19.210305" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.211549" 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-08-18T20:14:19.210848" elapsed="0.000729"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.211731" elapsed="0.000198"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-08-18T20:14:19.209624" 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-08-18T20:14:19.212371" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.212141" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.212126" elapsed="0.000492"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.213148" 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-08-18T20:14:19.212803" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.213898" 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-08-18T20:14:19.213323" 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-08-18T20:14:19.214076" elapsed="0.000178"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-08-18T20:14:19.212098" elapsed="0.002193"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.214695" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.214466" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.214451" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.215460" 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-08-18T20:14:19.215116" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.216223" 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-08-18T20:14:19.215634" 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-08-18T20:14:19.216401" elapsed="0.000179"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-08-18T20:14:19.214422" elapsed="0.002194"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.217039" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.216805" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.216791" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.217771" 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-08-18T20:14:19.217415" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.218505" 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-08-18T20:14:19.217947" elapsed="0.000585"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.218680" elapsed="0.000195"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-08-18T20:14:19.216760" elapsed="0.002151"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.219332" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.219096" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.219082" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.220069" 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-08-18T20:14:19.219709" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.220821" 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-08-18T20:14:19.220244" 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-08-18T20:14:19.221042" elapsed="0.000180"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-08-18T20:14:19.219053" elapsed="0.002206"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.221664" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.221434" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.221419" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.222398" 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-08-18T20:14:19.222056" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.223158" 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-08-18T20:14:19.222573" 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-08-18T20:14:19.223336" elapsed="0.000177"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-08-18T20:14:19.221390" elapsed="0.002159"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.223968" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.223722" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.223707" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.224691" 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-08-18T20:14:19.224348" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.225449" 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-08-18T20:14:19.224883" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.225625" elapsed="0.000194"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-08-18T20:14:19.223679" elapsed="0.002176"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.226262" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.226032" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.226015" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.227148" 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-08-18T20:14:19.226644" elapsed="0.000530"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.227911" 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-08-18T20:14:19.227326" 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-08-18T20:14:19.228088" elapsed="0.000179"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-08-18T20:14:19.225987" 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-08-18T20:14:19.228706" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.228478" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.228464" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.229441" 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-08-18T20:14:19.229098" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.230190" 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-08-18T20:14:19.229613" 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-08-18T20:14:19.230365" elapsed="0.000180"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-08-18T20:14:19.228435" elapsed="0.002146"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.231019" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.230770" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.230740" elapsed="0.000557"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.231808" 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-08-18T20:14:19.231443" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.232549" 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-08-18T20:14:19.231985" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.232732" elapsed="0.000196"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-08-18T20:14:19.230712" 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-08-18T20:14:19.233368" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.233140" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.233125" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.234104" 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-08-18T20:14:19.233759" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.234857" 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-08-18T20:14:19.234279" 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-08-18T20:14:19.235048" elapsed="0.000185"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-08-18T20:14:19.233096" elapsed="0.002173"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.235673" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.235444" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.235429" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.236411" 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-08-18T20:14:19.236068" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.237163" 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-08-18T20:14:19.236585" 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-08-18T20:14:19.237340" elapsed="0.000178"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-08-18T20:14:19.235400" 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-08-18T20:14:19.237979" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.237730" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.237715" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.238707" 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-08-18T20:14:19.238359" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.239487" 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-08-18T20:14:19.238899" 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-08-18T20:14:19.239665" elapsed="0.000196"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-08-18T20:14:19.237686" 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-08-18T20:14:19.240312" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.240081" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.240066" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.241053" 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-08-18T20:14:19.240691" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.241810" 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-08-18T20:14:19.241229" 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-08-18T20:14:19.241989" elapsed="0.000178"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-08-18T20:14:19.240036" elapsed="0.002201"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.242650" elapsed="0.000325"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.242416" elapsed="0.000598"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.242402" elapsed="0.000636"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.243532" 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-08-18T20:14:19.243180" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.244289" 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-08-18T20:14:19.243707" 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-08-18T20:14:19.244466" elapsed="0.000179"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-08-18T20:14:19.242372" 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-08-18T20:14:19.245104" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.244873" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.244859" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.245841" 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-08-18T20:14:19.245482" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.246579" 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-08-18T20:14:19.246019" elapsed="0.000588"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.246771" elapsed="0.000197"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-08-18T20:14:19.244829" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.247411" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.247180" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.247166" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.248148" 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-08-18T20:14:19.247803" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.248907" 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-08-18T20:14:19.248324" 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-08-18T20:14:19.249085" elapsed="0.000178"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-08-18T20:14:19.247137" elapsed="0.002162"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.249701" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.249473" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.249458" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.250440" 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-08-18T20:14:19.250098" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.251222" 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-08-18T20:14:19.250615" 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-08-18T20:14:19.251400" elapsed="0.000178"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-08-18T20:14:19.249429" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.252038" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.251805" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.251791" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.252773" 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-08-18T20:14:19.252416" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.253510" 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-08-18T20:14:19.252949" 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-08-18T20:14:19.253724" elapsed="0.000196"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-08-18T20:14:19.251760" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.254360" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.254132" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.254117" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.255110" 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-08-18T20:14:19.254737" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.255868" 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-08-18T20:14:19.255286" 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-08-18T20:14:19.256048" elapsed="0.000177"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-08-18T20:14:19.254089" elapsed="0.002173"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.256665" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.256436" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.256421" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.257399" 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-08-18T20:14:19.257057" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.258157" 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-08-18T20:14:19.257574" 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-08-18T20:14:19.258334" elapsed="0.000178"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-08-18T20:14:19.256392" elapsed="0.002156"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.259092" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.258724" elapsed="0.000588"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.258708" elapsed="0.000629"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.259832" 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-08-18T20:14:19.259474" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.260569" 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-08-18T20:14:19.260007" elapsed="0.000589"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.260759" elapsed="0.000182"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-08-18T20:14:19.258679" 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-08-18T20:14:19.261379" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.261150" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.261136" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.262114" 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-08-18T20:14:19.261769" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.262866" 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-08-18T20:14:19.262289" 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-08-18T20:14:19.263071" elapsed="0.000180"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-08-18T20:14:19.261107" elapsed="0.002180"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.263690" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.263460" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.263446" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.264425" 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-08-18T20:14:19.264084" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.265221" 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-08-18T20:14:19.264637" 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-08-18T20:14:19.265398" elapsed="0.000177"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-08-18T20:14:19.263417" elapsed="0.002194"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.266029" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.265800" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.265785" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.266763" 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-08-18T20:14:19.266407" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.267516" 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-08-18T20:14:19.266952" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.267694" elapsed="0.000196"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-08-18T20:14:19.265740" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.268329" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.268100" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.268085" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.269064" 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-08-18T20:14:19.268704" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.269816" 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-08-18T20:14:19.269239" 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-08-18T20:14:19.269993" elapsed="0.000177"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-08-18T20:14:19.268057" elapsed="0.002150"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.270609" elapsed="0.000192"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.270380" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.270366" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.271355" 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-08-18T20:14:19.271013" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.272109" 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-08-18T20:14:19.271529" 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-08-18T20:14:19.272286" elapsed="0.000178"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-08-18T20:14:19.270337" elapsed="0.002163"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.272925" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.272679" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.272663" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.273647" 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-08-18T20:14:19.273305" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.274405" 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-08-18T20:14:19.273838" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.274583" elapsed="0.000194"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-08-18T20:14:19.272633" elapsed="0.002182"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.275398" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.275123" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.275002" elapsed="0.000643"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.276148" 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-08-18T20:14:19.275801" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.276905" 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-08-18T20:14:19.276324" 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-08-18T20:14:19.277081" elapsed="0.000178"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-08-18T20:14:19.274973" 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-08-18T20:14:19.277697" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.277469" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.277455" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.278431" 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-08-18T20:14:19.278089" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.279194" 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-08-18T20:14:19.278604" 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-08-18T20:14:19.279372" elapsed="0.000179"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-08-18T20:14:19.277426" elapsed="0.002161"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.280009" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.279777" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.279760" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.280729" 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-08-18T20:14:19.280386" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.281484" 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-08-18T20:14:19.280922" elapsed="0.000589"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.281662" elapsed="0.000200"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-08-18T20:14:19.279718" elapsed="0.002180"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.282304" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.282075" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.282060" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.283056" 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-08-18T20:14:19.282681" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.283808" 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-08-18T20:14:19.283233" 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-08-18T20:14:19.283985" elapsed="0.000179"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-08-18T20:14:19.282032" elapsed="0.002168"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.284602" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.284374" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.284360" elapsed="0.000495"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.285335" 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-08-18T20:14:19.284994" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.286088" 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-08-18T20:14:19.285509" 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-08-18T20:14:19.286299" elapsed="0.000179"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-08-18T20:14:19.284331" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.286959" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.286690" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.286676" elapsed="0.000527"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.287685" 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-08-18T20:14:19.287340" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.288439" 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-08-18T20:14:19.287875" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.288620" elapsed="0.000195"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-08-18T20:14:19.286647" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.289258" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.289029" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.289014" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.289996" 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-08-18T20:14:19.289635" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.290729" 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-08-18T20:14:19.290169" 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-08-18T20:14:19.290940" elapsed="0.000186"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-08-18T20:14:19.288986" elapsed="0.002176"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.291677" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.291442" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.291323" elapsed="0.000613"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.292416" 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-08-18T20:14:19.292073" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.293164" 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-08-18T20:14:19.292589" 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-08-18T20:14:19.293340" elapsed="0.000178"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-08-18T20:14:19.291294" 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-08-18T20:14:19.293972" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.293727" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.293713" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.294690" 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-08-18T20:14:19.294349" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.295458" 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-08-18T20:14:19.294892" elapsed="0.000594"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.295635" elapsed="0.000194"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-08-18T20:14:19.293684" elapsed="0.002181"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.296270" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.296041" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.296027" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.297012" 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-08-18T20:14:19.296649" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.297803" 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-08-18T20:14:19.297222" 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-08-18T20:14:19.297984" elapsed="0.000179"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-08-18T20:14:19.295998" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.298603" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.298374" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.298360" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.299371" 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-08-18T20:14:19.299026" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.300124" 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-08-18T20:14:19.299546" 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-08-18T20:14:19.300301" elapsed="0.000179"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-08-18T20:14:19.298331" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.300937" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.300691" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.300676" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.301660" 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-08-18T20:14:19.301317" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.302413" 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-08-18T20:14:19.301849" elapsed="0.000592"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.302592" elapsed="0.000193"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-08-18T20:14:19.300648" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.303241" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.303012" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.302997" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.303974" 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-08-18T20:14:19.303617" elapsed="0.000382"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.304711" 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-08-18T20:14:19.304148" elapsed="0.000591"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.304904" elapsed="0.000178"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-08-18T20:14:19.302967" elapsed="0.002152"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.305524" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.305294" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.305280" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.306263" 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-08-18T20:14:19.305921" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.307043" 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-08-18T20:14:19.306439" 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-08-18T20:14:19.307222" elapsed="0.000179"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-08-18T20:14:19.305251" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.307983" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.307720" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.307599" elapsed="0.000658"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.308741" 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-08-18T20:14:19.308397" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.309492" 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-08-18T20:14:19.308932" elapsed="0.000588"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.309670" elapsed="0.000195"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-08-18T20:14:19.307570" 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-08-18T20:14:19.310306" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.310078" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.310063" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.311062" 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-08-18T20:14:19.310679" elapsed="0.000410"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.311813" 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-08-18T20:14:19.311237" 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-08-18T20:14:19.311991" elapsed="0.000178"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-08-18T20:14:19.310033" elapsed="0.002172"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.312608" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.312380" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.312365" elapsed="0.000497"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.313341" 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-08-18T20:14:19.312999" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.314092" 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-08-18T20:14:19.313516" 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-08-18T20:14:19.314271" elapsed="0.000178"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-08-18T20:14:19.312337" elapsed="0.002148"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.314925" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.314661" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.314647" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.315651" 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-08-18T20:14:19.315309" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.316405" 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-08-18T20:14:19.315843" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.316581" elapsed="0.000193"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-08-18T20:14:19.314618" elapsed="0.002194"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.317218" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.316990" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.316975" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.317953" 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-08-18T20:14:19.317594" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.318689" 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-08-18T20:14:19.318128" elapsed="0.000589"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.318896" elapsed="0.000179"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-08-18T20:14:19.316945" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.319558" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.319327" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.319312" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.320297" 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-08-18T20:14:19.319952" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.321052" 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-08-18T20:14:19.320472" 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-08-18T20:14:19.321230" elapsed="0.000177"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-08-18T20:14:19.319284" elapsed="0.002160"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.321866" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.321619" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.321605" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.322591" 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-08-18T20:14:19.322249" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.323376" 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-08-18T20:14:19.322782" 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-08-18T20:14:19.323554" elapsed="0.000178"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-08-18T20:14:19.321576" 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-08-18T20:14:19.324319" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.324083" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.323963" elapsed="0.000597"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.325060" 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-08-18T20:14:19.324697" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.325816" 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-08-18T20:14:19.325236" 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-08-18T20:14:19.325994" elapsed="0.000180"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-08-18T20:14:19.323934" 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-08-18T20:14:19.326614" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.326386" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.326371" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.327363" 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-08-18T20:14:19.327018" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.328120" 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-08-18T20:14:19.327538" 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-08-18T20:14:19.328298" elapsed="0.000177"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-08-18T20:14:19.326343" elapsed="0.002168"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.328934" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.328687" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.328673" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.329653" 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-08-18T20:14:19.329312" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.330402" 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-08-18T20:14:19.329841" 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-08-18T20:14:19.330612" elapsed="0.000196"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-08-18T20:14:19.328645" 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-08-18T20:14:19.331272" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.331039" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.331024" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.332009" 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-08-18T20:14:19.331648" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.332757" 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-08-18T20:14:19.332183" 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-08-18T20:14:19.332937" elapsed="0.000178"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-08-18T20:14:19.330995" elapsed="0.002156"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.333556" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.333327" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.333313" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.334290" 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-08-18T20:14:19.333948" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.335067" 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-08-18T20:14:19.334463" 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-08-18T20:14:19.335243" elapsed="0.000179"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-08-18T20:14:19.333284" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.335884" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.335636" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.335620" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.336607" 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-08-18T20:14:19.336265" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.337360" 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-08-18T20:14:19.336797" elapsed="0.000590"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.337535" elapsed="0.000178"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-08-18T20:14:19.335591" elapsed="0.002175"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.338176" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.337947" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.337933" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.338926" 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-08-18T20:14:19.338555" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.339669" 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-08-18T20:14:19.339101" elapsed="0.000596"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.339865" elapsed="0.000179"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-08-18T20:14:19.337903" elapsed="0.002178"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.340597" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.340363" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.340243" elapsed="0.000619"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.341343" 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-08-18T20:14:19.341000" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.342138" 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-08-18T20:14:19.341556" 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-08-18T20:14:19.342316" elapsed="0.000177"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-08-18T20:14:19.340214" 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-08-18T20:14:19.342964" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.342705" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.342691" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.343682" 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-08-18T20:14:19.343340" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.344434" 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-08-18T20:14:19.343873" elapsed="0.000589"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.344611" elapsed="0.000193"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-08-18T20:14:19.342662" elapsed="0.002180"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.345246" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.345018" elapsed="0.000441"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.345003" elapsed="0.000480"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.345980" 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-08-18T20:14:19.345619" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.346718" 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-08-18T20:14:19.346157" 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-08-18T20:14:19.346934" elapsed="0.000184"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-08-18T20:14:19.344974" elapsed="0.002180"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.347560" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.347330" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.347315" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.348299" 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-08-18T20:14:19.347958" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.349053" 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-08-18T20:14:19.348475" 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-08-18T20:14:19.349230" elapsed="0.000178"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-08-18T20:14:19.347286" elapsed="0.002158"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.349859" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.349616" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.349602" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.350580" 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-08-18T20:14:19.350238" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.351350" 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-08-18T20:14:19.350770" 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-08-18T20:14:19.351528" elapsed="0.000178"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-08-18T20:14:19.349573" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.352200" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.351935" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.351920" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.352946" 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-08-18T20:14:19.352585" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.353684" 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-08-18T20:14:19.353124" elapsed="0.000588"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.353880" elapsed="0.000180"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-08-18T20:14:19.351890" elapsed="0.002207"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.354502" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.354273" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.354258" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.355256" 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-08-18T20:14:19.354912" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.356012" 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-08-18T20:14:19.355432" 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-08-18T20:14:19.356190" elapsed="0.000178"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-08-18T20:14:19.354230" elapsed="0.002174"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.357297" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.357056" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.356566" elapsed="0.000977"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.358053" 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-08-18T20:14:19.357682" elapsed="0.000397"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.358837" 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-08-18T20:14:19.358230" 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-08-18T20:14:19.359021" elapsed="0.000180"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-08-18T20:14:19.356537" elapsed="0.002701"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.359645" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.359414" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.359399" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.360393" 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-08-18T20:14:19.360040" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.361149" 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-08-18T20:14:19.360569" 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-08-18T20:14:19.361327" elapsed="0.000179"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-08-18T20:14:19.359371" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.362004" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.361765" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.361729" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.362727" 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-08-18T20:14:19.362382" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.363505" 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-08-18T20:14:19.362935" 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-08-18T20:14:19.363717" elapsed="0.000197"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-08-18T20:14:19.361694" 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-08-18T20:14:19.364357" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.364128" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.364113" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.365091" 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-08-18T20:14:19.364732" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.365841" 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-08-18T20:14:19.365265" 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-08-18T20:14:19.366020" elapsed="0.000180"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-08-18T20:14:19.364083" elapsed="0.002154"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.366644" elapsed="0.000210"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.366414" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.366400" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.367397" 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-08-18T20:14:19.367053" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.368151" 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-08-18T20:14:19.367572" 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-08-18T20:14:19.368329" elapsed="0.000177"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-08-18T20:14:19.366370" elapsed="0.002172"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.368965" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.368719" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.368704" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.369689" 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-08-18T20:14:19.369345" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.370445" 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-08-18T20:14:19.369880" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.370623" elapsed="0.000220"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-08-18T20:14:19.368675" elapsed="0.002206"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.371293" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.371059" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.371044" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.372029" 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-08-18T20:14:19.371668" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.372781" 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-08-18T20:14:19.372204" 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-08-18T20:14:19.372958" elapsed="0.000177"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-08-18T20:14:19.371015" elapsed="0.002156"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.419272" elapsed="0.000289"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.418831" elapsed="0.000787"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.373333" elapsed="0.046314"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.420261" 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-08-18T20:14:19.419821" elapsed="0.000469"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.421185" 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-08-18T20:14:19.420529" 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-08-18T20:14:19.421370" elapsed="0.000186"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-08-18T20:14:19.373304" elapsed="0.048291"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.422061" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.421828" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.421813" elapsed="0.000492"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.422822" 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-08-18T20:14:19.422443" elapsed="0.000406"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.423566" 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-08-18T20:14:19.423000" elapsed="0.000595"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.423762" elapsed="0.000183"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-08-18T20:14:19.421778" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.424392" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.424161" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.424146" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.425142" 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-08-18T20:14:19.424794" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.425900" 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-08-18T20:14:19.425319" 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-08-18T20:14:19.426079" elapsed="0.000180"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-08-18T20:14:19.424117" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.426704" elapsed="0.000212"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.426474" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.426459" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.427467" 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-08-18T20:14:19.427117" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.428235" 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-08-18T20:14:19.427645" 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-08-18T20:14:19.428415" elapsed="0.000182"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-08-18T20:14:19.426428" elapsed="0.002207"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.429065" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.428832" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.428817" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.429810" 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-08-18T20:14:19.429447" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.430552" 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-08-18T20:14:19.429987" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.430770" elapsed="0.000187"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-08-18T20:14:19.428786" 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-08-18T20:14:19.431403" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.431172" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.431157" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.432185" 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-08-18T20:14:19.431836" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.433045" 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-08-18T20:14:19.432363" elapsed="0.000711"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.433226" elapsed="0.000179"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-08-18T20:14:19.431128" 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-08-18T20:14:19.433867" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.433620" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.433606" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.434596" 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-08-18T20:14:19.434250" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.435378" 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-08-18T20:14:19.434803" 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-08-18T20:14:19.435556" elapsed="0.000179"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-08-18T20:14:19.433576" 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-08-18T20:14:19.436197" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.435966" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.435951" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.436939" 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-08-18T20:14:19.436576" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.437686" 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-08-18T20:14:19.437116" 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-08-18T20:14:19.437887" elapsed="0.000181"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-08-18T20:14:19.435922" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.438511" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.438281" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.438267" elapsed="0.000514"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.439264" 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-08-18T20:14:19.438919" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.440017" 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-08-18T20:14:19.439438" 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-08-18T20:14:19.440195" elapsed="0.000179"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-08-18T20:14:19.438238" elapsed="0.002171"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.440839" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.440585" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.440570" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.441565" 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-08-18T20:14:19.441220" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.442329" 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-08-18T20:14:19.441756" 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-08-18T20:14:19.442508" elapsed="0.000181"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-08-18T20:14:19.440541" 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-08-18T20:14:19.443306" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.442999" elapsed="0.000534"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.442984" elapsed="0.000573"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.444062" 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-08-18T20:14:19.443695" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.444825" 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-08-18T20:14:19.444239" 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-08-18T20:14:19.445006" elapsed="0.000177"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-08-18T20:14:19.442954" 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-08-18T20:14:19.445631" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.445399" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.445384" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.446375" 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-08-18T20:14:19.446029" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.447156" 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-08-18T20:14:19.446553" 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-08-18T20:14:19.447336" elapsed="0.000179"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-08-18T20:14:19.445355" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.447978" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.447729" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.447714" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.448852" 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-08-18T20:14:19.448359" elapsed="0.000520"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.449605" 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-08-18T20:14:19.449032" 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-08-18T20:14:19.449804" elapsed="0.000182"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-08-18T20:14:19.447685" 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-08-18T20:14:19.450431" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.450201" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.450186" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.451225" 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-08-18T20:14:19.450846" elapsed="0.000411"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.452334" 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-08-18T20:14:19.451436" elapsed="0.000931"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.452549" elapsed="0.000219"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-08-18T20:14:19.450157" elapsed="0.002653"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.453347" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.453064" elapsed="0.000529"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.453047" elapsed="0.000574"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.454208" 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-08-18T20:14:19.453809" elapsed="0.000437"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.455126" 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-08-18T20:14:19.454421" elapsed="0.000781"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.455390" elapsed="0.000222"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-08-18T20:14:19.453008" elapsed="0.002650"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.456188" elapsed="0.000217"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.455898" elapsed="0.000550"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.455881" elapsed="0.000594"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.457077" 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-08-18T20:14:19.456651" elapsed="0.000455"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.457992" 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-08-18T20:14:19.457311" elapsed="0.000713"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.458207" elapsed="0.000208"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-08-18T20:14:19.455845" elapsed="0.002614"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.458950" elapsed="0.000224"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.458662" elapsed="0.000556"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.458643" elapsed="0.000604"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.459805" 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-08-18T20:14:19.459401" elapsed="0.000431"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.460550" 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-08-18T20:14:19.459985" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.460729" elapsed="0.000196"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-08-18T20:14:19.458608" 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-08-18T20:14:19.461367" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.461138" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.461123" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.462103" 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-08-18T20:14:19.461756" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.462912" 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-08-18T20:14:19.462278" 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-08-18T20:14:19.463090" elapsed="0.000177"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-08-18T20:14:19.461094" elapsed="0.002210"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.463737" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.463478" elapsed="0.000491"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.463463" elapsed="0.000529"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.464472" 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-08-18T20:14:19.464129" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.465231" 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-08-18T20:14:19.464649" 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-08-18T20:14:19.465410" elapsed="0.000178"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-08-18T20:14:19.463434" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.466049" elapsed="0.000299"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.465818" elapsed="0.000569"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.465803" elapsed="0.000608"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.466941" 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-08-18T20:14:19.466551" elapsed="0.000452"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.467732" 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-08-18T20:14:19.467161" 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-08-18T20:14:19.467929" elapsed="0.000181"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-08-18T20:14:19.465772" 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-08-18T20:14:19.468553" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.468323" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.468309" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.469296" 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-08-18T20:14:19.468951" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.470055" 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-08-18T20:14:19.469471" 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-08-18T20:14:19.470234" elapsed="0.000178"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-08-18T20:14:19.468279" elapsed="0.002169"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.470888" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.470623" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.470609" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.471614" 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-08-18T20:14:19.471268" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.472370" 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-08-18T20:14:19.471805" elapsed="0.000593"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.472549" elapsed="0.000184"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-08-18T20:14:19.470580" elapsed="0.002206"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.473194" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.472963" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.472948" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.473937" 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-08-18T20:14:19.473573" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.474676" 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-08-18T20:14:19.474113" 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-08-18T20:14:19.474890" elapsed="0.000180"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-08-18T20:14:19.472919" elapsed="0.002188"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-08-18T20:14:19.193078" elapsed="0.282060"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.476415" 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-08-18T20:14:19.475295" elapsed="0.001148"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.476504" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:14:19.476681" 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-08-18T20:14:19.140395" elapsed="0.336313"/>
</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-08-18T20:14:19.478121" 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-08-18T20:14:19.477841" elapsed="0.000358">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-08-18T20:14:19.478293" 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-08-18T20:14:19.477481" elapsed="0.000836"/>
</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-08-18T20:14:19.478631" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.478389" elapsed="0.000298"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.479231" 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-08-18T20:14:19.478944" elapsed="0.000313"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.478736" elapsed="0.000556"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.478371" elapsed="0.000942"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.481728" 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-08-18T20:14:19.479462" elapsed="0.002305"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:14:19.481821" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:19.481976" 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-08-18T20:14:19.477127" elapsed="0.004873"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.483530" 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-08-18T20:14:19.483277" elapsed="0.000297"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.483972" 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-08-18T20:14:19.483722" elapsed="0.000659"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.484792" 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-08-18T20:14:19.484532" elapsed="0.000304"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.485221" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.484984" elapsed="0.000279"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:19.486120" 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-08-18T20:14:19.485924" elapsed="0.000222"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-08-18T20:14:19.486465" 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-08-18T20:14:19.486295" elapsed="0.000196"/>
</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-08-18T20:14:19.486638" elapsed="0.000217"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.487246" 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-08-18T20:14:19.487005" elapsed="0.000284"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-08-18T20:14:19.487331" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:19.487482" 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-08-18T20:14:19.485458" elapsed="0.002048"/>
</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-08-18T20:14:19.519678" level="INFO">POST Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.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-08-18T20:14:19.519852" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:group=88', 'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:19.519961" 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-08-18T20:14:19.489547" elapsed="0.030440"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.487574" elapsed="0.032460"/>
</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-08-18T20:14:19.520210" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.520060" elapsed="0.000216"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.487558" elapsed="0.032739"/>
</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-08-18T20:14:19.523494" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.521313" elapsed="0.002223"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.521099" elapsed="0.002470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.521081" elapsed="0.002513"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.526138" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.523880" elapsed="0.002303"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.523649" elapsed="0.002569"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.523633" elapsed="0.002609"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.526833" 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-08-18T20:14:19.526416" elapsed="0.000445"/>
</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-08-18T20:14:19.527176" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.526931" elapsed="0.000301"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.527716" 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-08-18T20:14:19.527423" elapsed="0.000333"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.527256" elapsed="0.000537"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.526913" elapsed="0.000902"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.528337" 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-08-18T20:14:19.527981" elapsed="0.000382"/>
</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-08-18T20:14:19.528670" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.528431" elapsed="0.000296"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.529221" 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-08-18T20:14:19.528934" elapsed="0.000313"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.528765" elapsed="0.000516"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.528414" elapsed="0.000887"/>
</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-08-18T20:14:19.529444" elapsed="0.000353"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-08-18T20:14:19.530229" 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-08-18T20:14:19.529956" elapsed="0.000299"/>
</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-08-18T20:14:19.530404" elapsed="0.002165"/>
</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-08-18T20:14:19.520648" elapsed="0.011983"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:19.532822" elapsed="0.000017"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:19.532702" elapsed="0.000167"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.532684" elapsed="0.000206"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-08-18T20:14:19.535252" 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-08-18T20:14:19.533033" elapsed="0.002246"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-08-18T20:14:19.535326" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:19.535480" 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-08-18T20:14:19.482324" elapsed="0.053181"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.535606" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:19.535775" 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-08-18T20:14:19.057888" elapsed="0.477913"/>
</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-08-18T20:14:19.536137" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.535905" elapsed="0.000299"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.535888" elapsed="0.000339"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.536259" 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-08-18T20:14:19.055361" elapsed="0.481019"/>
</kw>
<var name="${switch}">3</var>
<status status="PASS" start="2026-08-18T20:14:19.043916" elapsed="0.492508"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-08-18T20:14:18.158290" elapsed="1.378166"/>
</for>
<doc>Add 100 groups of type 2 in every switch.</doc>
<status status="PASS" start="2026-08-18T20:14:18.157914" elapsed="1.378665"/>
</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-08-18T20:14:19.540044" 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-08-18T20:14:19.539630" 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-08-18T20:14:19.580615" 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-08-18T20:14:19.580240" elapsed="0.000403"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.581419" 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-08-18T20:14:19.581167" elapsed="0.000323">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-08-18T20:14:19.581582" 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-08-18T20:14:19.580837" elapsed="0.000769"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.582159" 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-08-18T20:14:19.581782" elapsed="0.000404"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.582475" 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-08-18T20:14:19.582637" 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-08-18T20:14:19.582341" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.583069" 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-08-18T20:14:19.582830" elapsed="0.000284"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.584042" 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-08-18T20:14:19.583791" elapsed="0.000295"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.584494" 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-08-18T20:14:19.584240" elapsed="0.000279"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.585213" 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-08-18T20:14:19.584873" elapsed="0.000366"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-08-18T20:14:19.586241" 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-08-18T20:14:19.585816" elapsed="0.000451"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-08-18T20:14:19.586318" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:19.586471" 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-08-18T20:14:19.585417" elapsed="0.001079"/>
</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-08-18T20:14:19.586671" elapsed="0.000295"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:1</var>
<status status="PASS" start="2026-08-18T20:14:19.584728" elapsed="0.002279"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-08-18T20:14:19.584564" elapsed="0.002478"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:14:19.587084" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:19.587237" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A1'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:14:19.583462" elapsed="0.003800"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.583180" elapsed="0.004114"/>
</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-08-18T20:14:19.587460" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.587317" elapsed="0.000197"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.583162" elapsed="0.004372"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.588217" 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-08-18T20:14:19.587670" elapsed="0.000576"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.588293" 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-08-18T20:14:19.579601" elapsed="0.008814"/>
</kw>
<msg time="2026-08-18T20:14:19.588468" 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-08-18T20:14:19.567514" elapsed="0.021001"/>
</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-08-18T20:14:19.600455" 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/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-08-18T20:14:19.612108" 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-08-18T20:14:19.623788" 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-08-18T20:14:19.623981" 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-08-18T20:14:19.624153" 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-08-18T20:14:19.624510" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.624370" elapsed="0.000195"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:19.624355" elapsed="0.000264"/>
</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-08-18T20:14:19.624774" 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-08-18T20:14:19.624941" 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-08-18T20:14:19.625102" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:14:19.624327" elapsed="0.000827"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:14:19.624227" elapsed="0.000953"/>
</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-08-18T20:14:19.625323" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:19.625398" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:14:19.625515" 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-08-18T20:14:19.563488" elapsed="0.062052"/>
</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-08-18T20:14:19.635836" elapsed="0.000336"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.648716" 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-08-18T20:14:19.648344" elapsed="0.000414"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.649451" 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-08-18T20:14:19.649246" elapsed="0.000268">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-08-18T20:14:19.649605" 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-08-18T20:14:19.648917" elapsed="0.000712"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.650263" 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-08-18T20:14:19.649804" elapsed="0.000486"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.650615" 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-08-18T20:14:19.650767" 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-08-18T20:14:19.650447" elapsed="0.000346"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.651187" level="INFO">{
  "flow": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.650947" elapsed="0.000284"/>
</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-08-18T20:14:19.651577" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.651296" elapsed="0.000339"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.652103" 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-08-18T20:14:19.651815" elapsed="0.000314"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.651658" elapsed="0.000505"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.651277" elapsed="0.000908"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.652741" 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-08-18T20:14:19.652326" elapsed="0.000457"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.652832" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:19.652982" 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-08-18T20:14:19.647726" elapsed="0.005281"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.665846" 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-08-18T20:14:19.665460" elapsed="0.000414"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.666576" 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-08-18T20:14:19.666360" 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-08-18T20:14:19.666731" 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-08-18T20:14:19.666033" elapsed="0.000744"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.667314" 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-08-18T20:14:19.666938" elapsed="0.000403"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.667628" 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-08-18T20:14:19.667769" 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-08-18T20:14:19.667497" elapsed="0.000298"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.668186" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.667947" elapsed="0.000282"/>
</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-08-18T20:14:19.668573" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.668295" elapsed="0.000335"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.669098" 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-08-18T20:14:19.668810" elapsed="0.000315"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.668654" elapsed="0.000506"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.668277" elapsed="0.000903"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.669736" 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-08-18T20:14:19.669322" elapsed="0.000455"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.669826" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:19.669977" 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-08-18T20:14:19.664851" elapsed="0.005151"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.682593" 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-08-18T20:14:19.682212" elapsed="0.000409"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.683332" 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-08-18T20:14:19.683130" elapsed="0.000265">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-08-18T20:14:19.683487" 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-08-18T20:14:19.682794" elapsed="0.000718"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.684070" 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-08-18T20:14:19.683673" elapsed="0.000424"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:19.684392" 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-08-18T20:14:19.684557" 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-08-18T20:14:19.684260" elapsed="0.000324"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.684995" 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-08-18T20:14:19.684738" elapsed="0.000306"/>
</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-08-18T20:14:19.685393" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.685109" elapsed="0.000342"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.685925" 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-08-18T20:14:19.685618" elapsed="0.000334"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.685475" elapsed="0.000512"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.685091" elapsed="0.000917"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.686780" 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-08-18T20:14:19.686149" elapsed="0.000661"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.686860" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:19.687014" 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-08-18T20:14:19.681669" elapsed="0.005371"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.687438" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:19.687200" elapsed="0.000263"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.687994" 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-08-18T20:14:19.687618" elapsed="0.000402"/>
</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-08-18T20:14:19.688620" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.688391" elapsed="0.000285"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.688376" elapsed="0.000323"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.689199" 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-08-18T20:14:19.688853" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.690161" 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-08-18T20:14:19.689374" elapsed="0.000816"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.690344" elapsed="0.000199"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-08-18T20:14:19.688345" 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-08-18T20:14:19.691007" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.690771" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.690755" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.691736" 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-08-18T20:14:19.691389" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.692529" 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-08-18T20:14:19.691931" 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-08-18T20:14:19.692710" elapsed="0.000200"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-08-18T20:14:19.690712" 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-08-18T20:14:19.693388" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.693157" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.693142" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.694132" 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-08-18T20:14:19.693784" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.694933" 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-08-18T20:14:19.694309" 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-08-18T20:14:19.695114" elapsed="0.000181"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-08-18T20:14:19.693113" 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-08-18T20:14:19.695738" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.695507" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.695492" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.696480" 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-08-18T20:14:19.696137" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.697265" 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-08-18T20:14:19.696657" 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-08-18T20:14:19.697443" elapsed="0.000180"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-08-18T20:14:19.695463" elapsed="0.002196"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.698081" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.697850" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.697836" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.698853" 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-08-18T20:14:19.698461" elapsed="0.000418"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.699620" 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-08-18T20:14:19.699031" 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-08-18T20:14:19.699813" elapsed="0.000181"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-08-18T20:14:19.697805" 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-08-18T20:14:19.700438" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.700206" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.700191" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.701176" 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-08-18T20:14:19.700831" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.701954" 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-08-18T20:14:19.701351" 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-08-18T20:14:19.702132" elapsed="0.000178"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-08-18T20:14:19.700162" elapsed="0.002185"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.702780" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.702534" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.702519" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.703511" 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-08-18T20:14:19.703167" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.704298" 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-08-18T20:14:19.703687" 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-08-18T20:14:19.704512" elapsed="0.000181"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-08-18T20:14:19.702478" 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-08-18T20:14:19.705157" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.704926" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.704911" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.705905" 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-08-18T20:14:19.705540" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.706827" 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-08-18T20:14:19.706084" elapsed="0.000772"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.707010" elapsed="0.000183"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-08-18T20:14:19.704882" 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-08-18T20:14:19.707635" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.707406" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.707391" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.708374" 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-08-18T20:14:19.708029" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.709161" 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-08-18T20:14:19.708550" 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-08-18T20:14:19.709342" elapsed="0.000182"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-08-18T20:14:19.707362" elapsed="0.002199"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.709985" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.709736" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.709722" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.710735" 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-08-18T20:14:19.710363" elapsed="0.000414"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.711525" 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-08-18T20:14:19.710931" 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-08-18T20:14:19.711705" elapsed="0.000196"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-08-18T20:14:19.709693" 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-08-18T20:14:19.712346" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.712115" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.712101" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.713089" 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-08-18T20:14:19.712724" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.713873" 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-08-18T20:14:19.713265" 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-08-18T20:14:19.714050" elapsed="0.000177"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-08-18T20:14:19.712072" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.714682" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.714437" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.714423" elapsed="0.000521"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.715428" 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-08-18T20:14:19.715082" elapsed="0.000405"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.716257" 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-08-18T20:14:19.715642" 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-08-18T20:14:19.716436" elapsed="0.000179"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-08-18T20:14:19.714394" 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-08-18T20:14:19.717077" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.716845" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.716830" elapsed="0.000492"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.717824" 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-08-18T20:14:19.717461" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.718608" 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-08-18T20:14:19.718001" 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-08-18T20:14:19.718808" elapsed="0.000181"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-08-18T20:14:19.716800" 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-08-18T20:14:19.719432" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.719201" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.719187" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.720182" 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-08-18T20:14:19.719833" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.720971" 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-08-18T20:14:19.720358" 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-08-18T20:14:19.721152" elapsed="0.000179"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-08-18T20:14:19.719157" 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-08-18T20:14:19.721791" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.721544" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.721529" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.722666" 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-08-18T20:14:19.722173" elapsed="0.000520"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.723469" 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-08-18T20:14:19.722864" 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-08-18T20:14:19.723648" elapsed="0.000197"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-08-18T20:14:19.721501" 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-08-18T20:14:19.724289" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.724058" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.724043" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.725038" 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-08-18T20:14:19.724670" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.725829" 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-08-18T20:14:19.725215" 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-08-18T20:14:19.726011" elapsed="0.000179"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-08-18T20:14:19.724014" 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-08-18T20:14:19.726683" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.726403" elapsed="0.000520"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.726389" elapsed="0.000558"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.727434" 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-08-18T20:14:19.727087" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.728231" 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-08-18T20:14:19.727612" 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-08-18T20:14:19.728413" elapsed="0.000181"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-08-18T20:14:19.726359" 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-08-18T20:14:19.729058" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.728828" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.728813" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.729801" 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-08-18T20:14:19.729439" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.730581" 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-08-18T20:14:19.729977" 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-08-18T20:14:19.730776" elapsed="0.000184"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-08-18T20:14:19.728782" 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-08-18T20:14:19.731405" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.731176" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.731161" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.732147" 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-08-18T20:14:19.731801" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.732931" 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-08-18T20:14:19.732322" 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-08-18T20:14:19.733109" elapsed="0.000180"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-08-18T20:14:19.731132" elapsed="0.002193"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.733735" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.733505" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.733489" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.734498" 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-08-18T20:14:19.734131" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.735290" 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-08-18T20:14:19.734677" 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-08-18T20:14:19.735467" elapsed="0.000178"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-08-18T20:14:19.733460" 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-08-18T20:14:19.736111" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.735879" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.735863" elapsed="0.000491"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.736853" 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-08-18T20:14:19.736494" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.737622" 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-08-18T20:14:19.737029" 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-08-18T20:14:19.737857" elapsed="0.000183"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-08-18T20:14:19.735833" 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-08-18T20:14:19.738503" elapsed="0.000865"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.738259" elapsed="0.001149"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.738244" elapsed="0.001188"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.739947" 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-08-18T20:14:19.739574" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.740727" 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-08-18T20:14:19.740128" 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-08-18T20:14:19.740933" elapsed="0.000183"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-08-18T20:14:19.738214" elapsed="0.002939"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.741565" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.741331" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.741317" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.742319" 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-08-18T20:14:19.741969" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.743124" 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-08-18T20:14:19.742509" 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-08-18T20:14:19.743306" elapsed="0.000180"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-08-18T20:14:19.741287" 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-08-18T20:14:19.743954" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.743705" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.743690" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.744682" 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-08-18T20:14:19.744334" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.745475" 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-08-18T20:14:19.744874" 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-08-18T20:14:19.745655" elapsed="0.000206"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-08-18T20:14:19.743660" elapsed="0.002238"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.746308" elapsed="0.000215"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.746078" elapsed="0.000484"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.746062" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.747096" 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-08-18T20:14:19.746724" elapsed="0.000398"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.747887" 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-08-18T20:14:19.747275" 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-08-18T20:14:19.748068" elapsed="0.000181"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-08-18T20:14:19.746033" 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-08-18T20:14:19.748692" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.748463" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.748448" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.749432" 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-08-18T20:14:19.749086" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.750261" 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-08-18T20:14:19.749645" 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-08-18T20:14:19.750441" elapsed="0.000193"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-08-18T20:14:19.748418" 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-08-18T20:14:19.751103" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.750872" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.750857" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.751848" 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-08-18T20:14:19.751484" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.752631" 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-08-18T20:14:19.752026" 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-08-18T20:14:19.752835" elapsed="0.000183"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-08-18T20:14:19.750827" 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-08-18T20:14:19.753463" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.753233" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.753219" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.754210" 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-08-18T20:14:19.753862" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.755015" 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-08-18T20:14:19.754389" 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-08-18T20:14:19.755196" elapsed="0.000179"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-08-18T20:14:19.753189" 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-08-18T20:14:19.755839" elapsed="0.000307"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.755589" elapsed="0.000595"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.755575" elapsed="0.000633"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.756698" 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-08-18T20:14:19.756349" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.757499" 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-08-18T20:14:19.756894" 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-08-18T20:14:19.757681" elapsed="0.000198"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-08-18T20:14:19.755545" elapsed="0.002373"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.758330" elapsed="0.000206"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.758096" elapsed="0.000478"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.758082" elapsed="0.000516"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.759104" 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-08-18T20:14:19.758738" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.759892" 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-08-18T20:14:19.759281" 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-08-18T20:14:19.760072" elapsed="0.000180"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-08-18T20:14:19.758052" 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-08-18T20:14:19.760701" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.760472" elapsed="0.000497"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.760457" elapsed="0.000539"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.761487" 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-08-18T20:14:19.761138" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.762278" 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-08-18T20:14:19.761666" 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-08-18T20:14:19.762471" elapsed="0.000183"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-08-18T20:14:19.760428" 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-08-18T20:14:19.763127" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.762895" elapsed="0.000452"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.762880" elapsed="0.000491"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.763872" 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-08-18T20:14:19.763510" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.764642" 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-08-18T20:14:19.764049" 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-08-18T20:14:19.764837" elapsed="0.000181"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-08-18T20:14:19.762850" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.765462" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.765231" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.765217" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.766206" 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-08-18T20:14:19.765859" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.767008" 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-08-18T20:14:19.766381" 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-08-18T20:14:19.767186" elapsed="0.000180"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-08-18T20:14:19.765188" 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-08-18T20:14:19.767827" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.767578" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.767564" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.768551" 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-08-18T20:14:19.768208" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.769338" 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-08-18T20:14:19.768727" 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-08-18T20:14:19.769517" elapsed="0.000178"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-08-18T20:14:19.767535" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.770156" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.769926" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.769912" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.770923" 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-08-18T20:14:19.770559" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.771693" 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-08-18T20:14:19.771100" 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-08-18T20:14:19.771890" elapsed="0.000179"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-08-18T20:14:19.769883" 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-08-18T20:14:19.772671" elapsed="0.000203"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.772321" elapsed="0.000591"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.772306" elapsed="0.000630"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.773428" 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-08-18T20:14:19.773077" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.774219" 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-08-18T20:14:19.773607" 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-08-18T20:14:19.774401" elapsed="0.000195"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-08-18T20:14:19.772277" 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-08-18T20:14:19.775060" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.774828" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.774812" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.775805" 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-08-18T20:14:19.775440" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.776574" 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-08-18T20:14:19.775982" 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-08-18T20:14:19.776769" elapsed="0.000181"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-08-18T20:14:19.774782" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.777393" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.777164" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.777149" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.778133" 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-08-18T20:14:19.777786" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.778956" 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-08-18T20:14:19.778310" 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-08-18T20:14:19.779137" elapsed="0.000179"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-08-18T20:14:19.777120" 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-08-18T20:14:19.779770" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.779527" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.779512" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.780490" 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-08-18T20:14:19.780147" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.781271" 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-08-18T20:14:19.780665" 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-08-18T20:14:19.781448" elapsed="0.000178"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-08-18T20:14:19.779484" elapsed="0.002179"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.782084" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.781854" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.781840" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.782832" 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-08-18T20:14:19.782471" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.783602" 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-08-18T20:14:19.783010" 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-08-18T20:14:19.783833" elapsed="0.000182"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-08-18T20:14:19.781810" 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-08-18T20:14:19.784464" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.784231" elapsed="0.000454"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.784216" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.785242" 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-08-18T20:14:19.784894" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.786026" 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-08-18T20:14:19.785419" 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-08-18T20:14:19.786207" elapsed="0.000179"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-08-18T20:14:19.784186" 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-08-18T20:14:19.786861" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.786611" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.786596" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.787583" 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-08-18T20:14:19.787241" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.788367" 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-08-18T20:14:19.787773" 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-08-18T20:14:19.788544" elapsed="0.000177"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-08-18T20:14:19.786567" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.789296" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.789058" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.788934" elapsed="0.000605"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.790041" 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-08-18T20:14:19.789677" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.790854" 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-08-18T20:14:19.790218" 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-08-18T20:14:19.791035" elapsed="0.000179"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-08-18T20:14:19.788905" 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-08-18T20:14:19.791672" elapsed="0.000226"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.791427" elapsed="0.000509"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.791413" elapsed="0.000547"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.792445" 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-08-18T20:14:19.792098" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.793233" 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-08-18T20:14:19.792624" 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-08-18T20:14:19.793413" elapsed="0.000179"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-08-18T20:14:19.791383" 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-08-18T20:14:19.794053" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.793823" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.793808" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.794815" 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-08-18T20:14:19.794440" elapsed="0.000433"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.795626" 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-08-18T20:14:19.795031" 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-08-18T20:14:19.795822" elapsed="0.000181"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-08-18T20:14:19.793777" 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-08-18T20:14:19.796446" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.796217" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.796203" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.797191" 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-08-18T20:14:19.796844" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.797971" 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-08-18T20:14:19.797366" 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-08-18T20:14:19.798150" elapsed="0.000177"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-08-18T20:14:19.796174" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.798809" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.798554" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.798540" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.799532" 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-08-18T20:14:19.799189" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.800310" 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-08-18T20:14:19.799707" 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-08-18T20:14:19.800488" elapsed="0.000178"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-08-18T20:14:19.798511" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.801123" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.800893" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.800879" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.801860" 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-08-18T20:14:19.801500" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.802648" 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-08-18T20:14:19.802036" 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-08-18T20:14:19.802846" elapsed="0.000180"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-08-18T20:14:19.800849" 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-08-18T20:14:19.803469" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.803239" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.803224" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.804210" 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-08-18T20:14:19.803864" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.804993" 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-08-18T20:14:19.804385" 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-08-18T20:14:19.805171" elapsed="0.000179"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-08-18T20:14:19.803194" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.805956" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.805669" elapsed="0.000509"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.805545" elapsed="0.000658"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.806715" 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-08-18T20:14:19.806344" elapsed="0.000411"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.807507" 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-08-18T20:14:19.806910" 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-08-18T20:14:19.807686" elapsed="0.000197"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-08-18T20:14:19.805516" 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-08-18T20:14:19.808326" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.808097" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.808083" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.809061" 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-08-18T20:14:19.808701" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.809839" 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-08-18T20:14:19.809237" 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-08-18T20:14:19.810018" elapsed="0.000178"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-08-18T20:14:19.808054" elapsed="0.002177"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.810652" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.810407" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.810392" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.811395" 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-08-18T20:14:19.811050" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.812187" 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-08-18T20:14:19.811573" 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-08-18T20:14:19.812367" elapsed="0.000179"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-08-18T20:14:19.810363" 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-08-18T20:14:19.813013" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.812781" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.812765" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.813737" 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-08-18T20:14:19.813393" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.814553" 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-08-18T20:14:19.813932" 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-08-18T20:14:19.814733" elapsed="0.000195"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-08-18T20:14:19.812720" 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-08-18T20:14:19.815370" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.815141" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.815127" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.816106" 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-08-18T20:14:19.815763" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.816892" 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-08-18T20:14:19.816281" 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-08-18T20:14:19.817108" elapsed="0.000181"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-08-18T20:14:19.815098" 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-08-18T20:14:19.817731" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.817501" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.817487" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.818479" 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-08-18T20:14:19.818123" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.819268" 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-08-18T20:14:19.818658" 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-08-18T20:14:19.819447" elapsed="0.000179"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-08-18T20:14:19.817457" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.820086" elapsed="0.000204"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.819855" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.819840" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.820851" 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-08-18T20:14:19.820490" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.821618" 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-08-18T20:14:19.821029" 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-08-18T20:14:19.821812" elapsed="0.000181"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-08-18T20:14:19.819810" 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-08-18T20:14:19.822568" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.822315" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.822192" elapsed="0.000634"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.823310" 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-08-18T20:14:19.822965" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.824091" 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-08-18T20:14:19.823486" 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-08-18T20:14:19.824270" elapsed="0.000179"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-08-18T20:14:19.822163" 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-08-18T20:14:19.824907" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.824661" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.824645" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.825630" 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-08-18T20:14:19.825287" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.826434" 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-08-18T20:14:19.825824" 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-08-18T20:14:19.826622" elapsed="0.000196"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-08-18T20:14:19.824616" 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-08-18T20:14:19.827262" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.827033" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.827018" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.828002" 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-08-18T20:14:19.827641" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.828826" 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-08-18T20:14:19.828214" 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-08-18T20:14:19.829007" elapsed="0.000180"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-08-18T20:14:19.826988" 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-08-18T20:14:19.829628" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.829399" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.829384" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.830365" 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-08-18T20:14:19.830022" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.831166" 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-08-18T20:14:19.830552" 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-08-18T20:14:19.831344" elapsed="0.000178"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-08-18T20:14:19.829355" elapsed="0.002204"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.831983" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.831734" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.831720" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.832703" 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-08-18T20:14:19.832361" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.833483" 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-08-18T20:14:19.832894" 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-08-18T20:14:19.833661" elapsed="0.000266"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-08-18T20:14:19.831691" 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-08-18T20:14:19.834419" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.834161" elapsed="0.000522"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.834146" elapsed="0.000565"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.835244" 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-08-18T20:14:19.834868" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.836063" 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-08-18T20:14:19.835429" 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-08-18T20:14:19.836242" elapsed="0.000181"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-08-18T20:14:19.834114" 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-08-18T20:14:19.836894" elapsed="0.000186"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.836642" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.836625" elapsed="0.000520"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.837642" 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-08-18T20:14:19.837287" elapsed="0.000381"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.838519" 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-08-18T20:14:19.837841" elapsed="0.000713"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.838710" elapsed="0.000222"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-08-18T20:14:19.836596" 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-08-18T20:14:19.839504" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.839260" elapsed="0.000512"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.839136" elapsed="0.000665"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.840298" 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-08-18T20:14:19.839945" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.841132" 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-08-18T20:14:19.840475" 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-08-18T20:14:19.841311" elapsed="0.000180"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-08-18T20:14:19.839107" elapsed="0.002422"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.841953" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.841704" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.841689" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.842704" 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-08-18T20:14:19.842331" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.843495" 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-08-18T20:14:19.842900" 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-08-18T20:14:19.843672" elapsed="0.000198"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-08-18T20:14:19.841660" 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-08-18T20:14:19.844311" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.844083" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.844068" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.845056" 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-08-18T20:14:19.844687" elapsed="0.000402"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.845851" 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-08-18T20:14:19.845241" 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-08-18T20:14:19.846029" elapsed="0.000179"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-08-18T20:14:19.844040" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.846688" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.846453" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.846436" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.847451" 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-08-18T20:14:19.847100" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.848238" 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-08-18T20:14:19.847627" 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-08-18T20:14:19.848415" elapsed="0.000177"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-08-18T20:14:19.846404" 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-08-18T20:14:19.849054" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.848824" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.848809" elapsed="0.000491"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.849804" 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-08-18T20:14:19.849438" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.850659" 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-08-18T20:14:19.849981" elapsed="0.000721"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.850938" elapsed="0.000253"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-08-18T20:14:19.848779" elapsed="0.002509"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.851882" elapsed="0.000254"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.851539" elapsed="0.000649"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.851519" elapsed="0.000702"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.852915" 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-08-18T20:14:19.852413" elapsed="0.000539"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.854025" 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-08-18T20:14:19.853161" 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-08-18T20:14:19.854276" elapsed="0.000281"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-08-18T20:14:19.851478" elapsed="0.003133"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.855239" elapsed="0.000253"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.854912" elapsed="0.000634"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.854891" elapsed="0.000688"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.856283" 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-08-18T20:14:19.855801" elapsed="0.000519"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.857383" 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-08-18T20:14:19.856532" elapsed="0.000890"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.857632" elapsed="0.000276"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-08-18T20:14:19.854848" elapsed="0.003113"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.858737" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.858366" elapsed="0.000616"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.858191" elapsed="0.000815"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.859495" 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-08-18T20:14:19.859146" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.860292" 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-08-18T20:14:19.859673" 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-08-18T20:14:19.860475" elapsed="0.000184"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-08-18T20:14:19.858149" elapsed="0.002547"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.861122" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.860892" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.860877" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.861869" 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-08-18T20:14:19.861504" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.862661" 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-08-18T20:14:19.862046" 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-08-18T20:14:19.862857" elapsed="0.000190"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-08-18T20:14:19.860847" 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-08-18T20:14:19.863487" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.863257" elapsed="0.000454"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.863243" elapsed="0.000492"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.864235" 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-08-18T20:14:19.863890" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.865015" 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-08-18T20:14:19.864410" 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-08-18T20:14:19.865230" elapsed="0.000180"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-08-18T20:14:19.863214" 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-08-18T20:14:19.865868" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.865621" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.865606" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.866615" 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-08-18T20:14:19.866247" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.867411" 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-08-18T20:14:19.866814" 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-08-18T20:14:19.867589" elapsed="0.000195"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-08-18T20:14:19.865577" 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-08-18T20:14:19.868226" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.867996" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.867982" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.868961" 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-08-18T20:14:19.868602" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.869725" 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-08-18T20:14:19.869137" 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-08-18T20:14:19.869919" elapsed="0.000177"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-08-18T20:14:19.867953" elapsed="0.002179"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.870579" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.870304" elapsed="0.000508"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.870289" elapsed="0.000547"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.871317" 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-08-18T20:14:19.870974" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.872102" 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-08-18T20:14:19.871492" 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-08-18T20:14:19.872279" elapsed="0.000177"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-08-18T20:14:19.870261" 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-08-18T20:14:19.872920" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.872666" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.872651" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.873648" 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-08-18T20:14:19.873303" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.874466" 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-08-18T20:14:19.873842" 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-08-18T20:14:19.874644" elapsed="0.000195"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-08-18T20:14:19.872622" 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-08-18T20:14:19.875398" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.875162" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.875037" elapsed="0.000602"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.876140" 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-08-18T20:14:19.875794" elapsed="0.000405"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.876966" 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-08-18T20:14:19.876353" 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-08-18T20:14:19.877147" elapsed="0.000180"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-08-18T20:14:19.875008" 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-08-18T20:14:19.877788" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.877539" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.877525" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.878537" 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-08-18T20:14:19.878167" elapsed="0.000396"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.879324" 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-08-18T20:14:19.878714" 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-08-18T20:14:19.879503" elapsed="0.000178"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-08-18T20:14:19.877496" 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-08-18T20:14:19.880140" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.879909" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.879894" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.880879" 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-08-18T20:14:19.880518" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.881647" 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-08-18T20:14:19.881055" 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-08-18T20:14:19.881841" elapsed="0.000181"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-08-18T20:14:19.879865" elapsed="0.002193"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.882506" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.882233" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.882218" elapsed="0.000553"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.883260" 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-08-18T20:14:19.882915" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.884043" 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-08-18T20:14:19.883436" 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-08-18T20:14:19.884221" elapsed="0.000178"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-08-18T20:14:19.882190" 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-08-18T20:14:19.884854" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.884610" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.884595" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.885575" 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-08-18T20:14:19.885234" elapsed="0.000367"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.886375" 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-08-18T20:14:19.885768" 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-08-18T20:14:19.886559" elapsed="0.000179"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-08-18T20:14:19.884566" 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-08-18T20:14:19.887232" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.886965" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.886950" elapsed="0.000525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.887974" 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-08-18T20:14:19.887613" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.888757" 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-08-18T20:14:19.888150" 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-08-18T20:14:19.888939" elapsed="0.000180"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-08-18T20:14:19.886922" 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-08-18T20:14:19.889566" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.889335" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.889320" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.890309" 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-08-18T20:14:19.889964" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.891121" 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-08-18T20:14:19.890509" 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-08-18T20:14:19.891299" elapsed="0.000178"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-08-18T20:14:19.889290" 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-08-18T20:14:19.892072" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.891833" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.891681" elapsed="0.000634"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.892816" 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-08-18T20:14:19.892453" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.893587" 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-08-18T20:14:19.892992" 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-08-18T20:14:19.893784" elapsed="0.000183"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-08-18T20:14:19.891647" 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-08-18T20:14:19.894452" elapsed="0.000189"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.894178" elapsed="0.000504"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.894164" elapsed="0.000542"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.895208" 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-08-18T20:14:19.894860" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.895988" 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-08-18T20:14:19.895382" 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-08-18T20:14:19.896167" elapsed="0.000178"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-08-18T20:14:19.894134" 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-08-18T20:14:19.896802" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.896557" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.896542" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.897525" 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-08-18T20:14:19.897183" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.898309" 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-08-18T20:14:19.897701" 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-08-18T20:14:19.898555" elapsed="0.000184"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-08-18T20:14:19.896513" 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-08-18T20:14:19.899203" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.898970" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.898955" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.899944" 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-08-18T20:14:19.899582" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.900715" 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-08-18T20:14:19.900122" 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-08-18T20:14:19.900911" elapsed="0.000179"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-08-18T20:14:19.898926" elapsed="0.002201"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.901532" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.901302" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.901288" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.902271" 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-08-18T20:14:19.901928" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.903074" 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-08-18T20:14:19.902464" 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-08-18T20:14:19.903253" elapsed="0.000178"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-08-18T20:14:19.901259" elapsed="0.002209"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.903889" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.903643" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.903628" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.904610" 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-08-18T20:14:19.904268" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.905396" 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-08-18T20:14:19.904799" 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-08-18T20:14:19.905572" elapsed="0.000194"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-08-18T20:14:19.903599" elapsed="0.002204"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.906214" elapsed="0.000207"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.905981" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.905964" elapsed="0.000527"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.906998" 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-08-18T20:14:19.906632" elapsed="0.000392"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.907790" 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-08-18T20:14:19.907175" 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-08-18T20:14:19.907970" elapsed="0.000180"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-08-18T20:14:19.905936" 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-08-18T20:14:19.908710" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.908472" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.908349" elapsed="0.000621"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.909457" 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-08-18T20:14:19.909111" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.910284" 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-08-18T20:14:19.909668" 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-08-18T20:14:19.910480" elapsed="0.000181"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-08-18T20:14:19.908320" 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-08-18T20:14:19.911130" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.910899" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.910884" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.911867" 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-08-18T20:14:19.911508" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.912636" 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-08-18T20:14:19.912043" 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-08-18T20:14:19.912828" elapsed="0.000181"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-08-18T20:14:19.910854" elapsed="0.002192"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.913452" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.913222" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.913207" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.914188" 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-08-18T20:14:19.913844" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.914985" 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-08-18T20:14:19.914372" 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-08-18T20:14:19.915162" elapsed="0.000178"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-08-18T20:14:19.913178" elapsed="0.002198"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.915798" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.915553" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.915539" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.916525" 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-08-18T20:14:19.916180" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.917311" 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-08-18T20:14:19.916701" 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-08-18T20:14:19.917488" elapsed="0.000177"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-08-18T20:14:19.915510" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:19.918125" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.917894" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.917879" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.918892" 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-08-18T20:14:19.918531" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.919658" 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-08-18T20:14:19.919067" 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-08-18T20:14:19.919851" elapsed="0.000179"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-08-18T20:14:19.917850" 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-08-18T20:14:19.920474" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.920243" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.920228" elapsed="0.000535"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.921253" 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-08-18T20:14:19.920908" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.922048" 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-08-18T20:14:19.921429" 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-08-18T20:14:19.922226" elapsed="0.000195"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-08-18T20:14:19.920199" 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-08-18T20:14:19.922885" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.922637" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.922622" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.923613" 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-08-18T20:14:19.923267" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.924401" 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-08-18T20:14:19.923805" 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-08-18T20:14:19.924580" elapsed="0.000193"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-08-18T20:14:19.922593" 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-08-18T20:14:19.925330" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.925095" elapsed="0.000454"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.924974" elapsed="0.000599"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.926074" 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-08-18T20:14:19.925711" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.926883" 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-08-18T20:14:19.926252" 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-08-18T20:14:19.927062" elapsed="0.000181"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-08-18T20:14:19.924944" 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-08-18T20:14:19.927685" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.927455" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.927440" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.928425" 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-08-18T20:14:19.928081" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.929211" 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-08-18T20:14:19.928600" 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-08-18T20:14:19.929389" elapsed="0.000178"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-08-18T20:14:19.927411" elapsed="0.002192"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-08-18T20:14:19.688075" elapsed="0.241559"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.930933" 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-08-18T20:14:19.929801" elapsed="0.001160"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:19.931020" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:14:19.931176" 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-08-18T20:14:19.634977" elapsed="0.296224"/>
</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-08-18T20:14:19.932491" 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-08-18T20:14:19.932244" elapsed="0.000314">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-08-18T20:14:19.932650" 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-08-18T20:14:19.931915" elapsed="0.000759"/>
</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-08-18T20:14:19.933000" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.932756" elapsed="0.000300"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.933544" 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-08-18T20:14:19.933258" elapsed="0.000312"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.933080" elapsed="0.000524"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.932725" elapsed="0.000901"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.935914" 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-08-18T20:14:19.933791" elapsed="0.002150"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:14:19.935991" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:19.936144" 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-08-18T20:14:19.931574" elapsed="0.004594"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.937662" 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-08-18T20:14:19.937417" elapsed="0.000290"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.938108" 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-08-18T20:14:19.937872" elapsed="0.000949"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.939217" 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-08-18T20:14:19.938973" elapsed="0.000287"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.939643" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.939407" elapsed="0.000278"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:19.940483" 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-08-18T20:14:19.940294" elapsed="0.000214"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-08-18T20:14:19.940848" 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-08-18T20:14:19.940655" elapsed="0.000219"/>
</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-08-18T20:14:19.941019" elapsed="0.000183"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.941591" 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-08-18T20:14:19.941351" elapsed="0.000283"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-08-18T20:14:19.941675" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:19.941845" 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-08-18T20:14:19.939899" elapsed="0.001971"/>
</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-08-18T20:14:19.980109" level="INFO">POST Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.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-08-18T20:14:19.980459" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A1/flow-node-inventory:table=0 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:14:19.980686" 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-08-18T20:14:19.944492" elapsed="0.036280"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.942482" elapsed="0.038398"/>
</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-08-18T20:14:19.981272" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.980939" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.941922" elapsed="0.039547"/>
</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-08-18T20:14:19.988709" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.983797" elapsed="0.005040"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.983288" elapsed="0.005626"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.983248" elapsed="0.005722"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.992446" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:19.989577" elapsed="0.002914"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.989093" elapsed="0.003432"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.989056" elapsed="0.003493"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.993114" 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-08-18T20:14:19.992725" elapsed="0.000417"/>
</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-08-18T20:14:19.993453" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.993211" elapsed="0.000298"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.994013" 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-08-18T20:14:19.993699" elapsed="0.000340"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.993533" elapsed="0.000541"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.993193" elapsed="0.000903"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.994638" 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-08-18T20:14:19.994275" elapsed="0.000389"/>
</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-08-18T20:14:19.994990" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:19.994733" elapsed="0.000314"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:19.995529" 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-08-18T20:14:19.995238" elapsed="0.000317"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:19.995071" elapsed="0.000519"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.994715" elapsed="0.000895"/>
</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-08-18T20:14:19.995771" elapsed="0.000342"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-08-18T20:14:19.996547" 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-08-18T20:14:19.996275" elapsed="0.000298"/>
</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-08-18T20:14:19.996722" elapsed="0.002166"/>
</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-08-18T20:14:19.982290" elapsed="0.016660"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:19.999125" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:19.999021" elapsed="0.000148"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:19.999003" elapsed="0.000187"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-08-18T20:14:20.001535" 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-08-18T20:14:19.999332" elapsed="0.002230"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-08-18T20:14:20.001609" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:20.001775" 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-08-18T20:14:19.936486" elapsed="0.065315"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.001910" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:20.002062" 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-08-18T20:14:19.553155" elapsed="0.448931"/>
</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-08-18T20:14:20.002449" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.002190" elapsed="0.000329"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.002173" elapsed="0.000370"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.002576" 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-08-18T20:14:19.550688" elapsed="0.452014"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-08-18T20:14:19.539486" elapsed="0.463275"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.003388" 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-08-18T20:14:20.002994" elapsed="0.000422"/>
</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-08-18T20:14:20.044025" 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-08-18T20:14:20.043631" elapsed="0.000422"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.044763" 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-08-18T20:14:20.044539" elapsed="0.000291">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-08-18T20:14:20.044923" 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-08-18T20:14:20.044212" elapsed="0.000735"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.045483" 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-08-18T20:14:20.045107" elapsed="0.000403"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.045820" 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-08-18T20:14:20.045950" 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-08-18T20:14:20.045666" elapsed="0.000310"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.046380" 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-08-18T20:14:20.046128" 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-08-18T20:14:20.047358" 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-08-18T20:14:20.047107" elapsed="0.000294"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.047829" 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-08-18T20:14:20.047556" elapsed="0.000299"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.048521" 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-08-18T20:14:20.048197" elapsed="0.000350"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-08-18T20:14:20.049496" 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-08-18T20:14:20.049081" elapsed="0.000442"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-08-18T20:14:20.049608" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:14:20.049782" 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-08-18T20:14:20.048726" elapsed="0.001082"/>
</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-08-18T20:14:20.049959" elapsed="0.000290"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:2</var>
<status status="PASS" start="2026-08-18T20:14:20.048066" elapsed="0.002226"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-08-18T20:14:20.047904" elapsed="0.002424"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:14:20.050374" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:20.050530" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A2'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:14:20.046790" elapsed="0.003765"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.046491" elapsed="0.004095"/>
</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-08-18T20:14:20.050779" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.050610" elapsed="0.000226"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.046473" elapsed="0.004384"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.051514" 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-08-18T20:14:20.050996" elapsed="0.000545"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.051590" 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-08-18T20:14:20.043020" elapsed="0.008693"/>
</kw>
<msg time="2026-08-18T20:14:20.051787" 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-08-18T20:14:20.031162" elapsed="0.020675"/>
</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-08-18T20:14:20.063685" 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-08-18T20:14:20.075317" 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-08-18T20:14:20.086919" 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-08-18T20:14:20.087111" 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-08-18T20:14:20.087282" 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-08-18T20:14:20.087639" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.087497" elapsed="0.000198"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:20.087482" elapsed="0.000236"/>
</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-08-18T20:14:20.087869" 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-08-18T20:14:20.088075" 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-08-18T20:14:20.088240" elapsed="0.000023"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:14:20.087454" elapsed="0.000842"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:14:20.087355" elapsed="0.000967"/>
</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-08-18T20:14:20.088464" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:20.088539" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:14:20.088656" 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-08-18T20:14:20.027093" elapsed="0.061588"/>
</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-08-18T20:14:20.098983" elapsed="0.000333"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.111847" 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-08-18T20:14:20.111457" elapsed="0.000418"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.112565" 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-08-18T20:14:20.112361" elapsed="0.000267">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-08-18T20:14:20.112719" 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-08-18T20:14:20.112034" elapsed="0.000723"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.113294" 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-08-18T20:14:20.112920" elapsed="0.000401"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.113608" 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-08-18T20:14:20.113729" 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-08-18T20:14:20.113476" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.114172" level="INFO">{
  "flow": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:20.113924" 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-08-18T20:14:20.114566" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.114286" elapsed="0.000337"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.115095" 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-08-18T20:14:20.114804" elapsed="0.000317"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.114647" elapsed="0.000510"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.114269" elapsed="0.000909"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.115733" 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-08-18T20:14:20.115318" elapsed="0.000457"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.115825" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:20.115975" 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-08-18T20:14:20.110857" elapsed="0.005143"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.128825" 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-08-18T20:14:20.128440" elapsed="0.000413"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.129541" 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-08-18T20:14:20.129341" elapsed="0.000263">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-08-18T20:14:20.129696" 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-08-18T20:14:20.129013" elapsed="0.000707"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.130281" 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-08-18T20:14:20.129894" elapsed="0.000414"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.130600" 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-08-18T20:14:20.130721" 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-08-18T20:14:20.130468" elapsed="0.000292"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.131153" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:20.130915" elapsed="0.000282"/>
</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-08-18T20:14:20.131541" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.131262" elapsed="0.000337"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.132074" 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-08-18T20:14:20.131786" elapsed="0.000314"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.131623" elapsed="0.000512"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.131244" elapsed="0.000912"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.132712" 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-08-18T20:14:20.132298" elapsed="0.000440"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.132802" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:20.132954" 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-08-18T20:14:20.127833" elapsed="0.005146"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.145532" 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-08-18T20:14:20.145168" elapsed="0.000392"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.146282" 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-08-18T20:14:20.146055" 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-08-18T20:14:20.146435" 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-08-18T20:14:20.145714" elapsed="0.000745"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.147011" 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-08-18T20:14:20.146617" elapsed="0.000421"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.147326" 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-08-18T20:14:20.147482" 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-08-18T20:14:20.147194" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.147924" 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-08-18T20:14:20.147665" elapsed="0.000309"/>
</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-08-18T20:14:20.148319" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.148039" elapsed="0.000337"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.148844" 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-08-18T20:14:20.148541" elapsed="0.000329"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.148400" elapsed="0.000505"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.148021" elapsed="0.000905"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.149650" 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-08-18T20:14:20.149067" elapsed="0.000611"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.149727" elapsed="0.000044"/>
</return>
<msg time="2026-08-18T20:14:20.149898" 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-08-18T20:14:20.144619" elapsed="0.005305"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.150335" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:20.150082" elapsed="0.000279"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.150895" 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-08-18T20:14:20.150515" elapsed="0.000406"/>
</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-08-18T20:14:20.151521" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.151292" elapsed="0.000285"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.151277" elapsed="0.000324"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.152098" 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-08-18T20:14:20.151737" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.153044" 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-08-18T20:14:20.152273" elapsed="0.000800"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.153228" elapsed="0.000185"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-08-18T20:14:20.151247" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.153874" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.153625" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.153610" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.154614" 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-08-18T20:14:20.154270" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.155399" 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-08-18T20:14:20.154806" 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-08-18T20:14:20.155577" elapsed="0.000200"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-08-18T20:14:20.153581" 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-08-18T20:14:20.156258" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.156025" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.156010" elapsed="0.000491"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.157004" 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-08-18T20:14:20.156640" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.157790" 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-08-18T20:14:20.157182" 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-08-18T20:14:20.157971" elapsed="0.000203"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-08-18T20:14:20.155980" 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-08-18T20:14:20.158624" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.158392" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.158378" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.159366" 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-08-18T20:14:20.159022" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.160149" 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-08-18T20:14:20.159542" 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-08-18T20:14:20.160327" elapsed="0.000179"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-08-18T20:14:20.158344" elapsed="0.002198"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.160965" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.160717" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.160703" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.161689" 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-08-18T20:14:20.161347" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.162488" 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-08-18T20:14:20.161882" 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-08-18T20:14:20.162665" elapsed="0.000196"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-08-18T20:14:20.160673" 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-08-18T20:14:20.163302" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.163073" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.163059" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.164040" 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-08-18T20:14:20.163680" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.164822" 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-08-18T20:14:20.164216" 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-08-18T20:14:20.165002" elapsed="0.000178"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-08-18T20:14:20.163030" elapsed="0.002186"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.165620" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.165392" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.165377" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.166370" 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-08-18T20:14:20.166013" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.167161" 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-08-18T20:14:20.166550" 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-08-18T20:14:20.167388" elapsed="0.000181"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-08-18T20:14:20.165348" 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-08-18T20:14:20.168028" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.167797" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.167782" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.168766" 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-08-18T20:14:20.168407" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.169660" 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-08-18T20:14:20.168946" elapsed="0.000743"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.169855" elapsed="0.000181"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-08-18T20:14:20.167738" 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-08-18T20:14:20.170503" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.170270" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.170255" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.171248" 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-08-18T20:14:20.170902" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.172035" 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-08-18T20:14:20.171425" 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-08-18T20:14:20.172217" elapsed="0.000180"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-08-18T20:14:20.170226" 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-08-18T20:14:20.172856" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.172609" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.172595" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.173580" 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-08-18T20:14:20.173236" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.174375" 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-08-18T20:14:20.173770" 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-08-18T20:14:20.174553" elapsed="0.000179"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-08-18T20:14:20.172566" 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-08-18T20:14:20.175193" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.174962" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.174948" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.175928" 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-08-18T20:14:20.175570" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.176693" 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-08-18T20:14:20.176105" 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-08-18T20:14:20.176892" elapsed="0.000179"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-08-18T20:14:20.174919" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.177511" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.177282" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.177268" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.178268" 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-08-18T20:14:20.177913" elapsed="0.000418"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.179285" 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-08-18T20:14:20.178486" 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-08-18T20:14:20.179468" elapsed="0.000180"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-08-18T20:14:20.177239" elapsed="0.002446"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.180121" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.179890" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.179875" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.180860" 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-08-18T20:14:20.180499" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.181623" 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-08-18T20:14:20.181036" 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-08-18T20:14:20.181826" elapsed="0.000180"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-08-18T20:14:20.179845" elapsed="0.002198"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.182473" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.182243" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.182229" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.183219" 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-08-18T20:14:20.182874" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.184007" 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-08-18T20:14:20.183396" 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-08-18T20:14:20.184187" elapsed="0.000178"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-08-18T20:14:20.182199" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.184823" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.184579" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.184564" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.185663" 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-08-18T20:14:20.185203" elapsed="0.000486"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.186467" 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-08-18T20:14:20.185854" 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-08-18T20:14:20.186647" elapsed="0.000194"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-08-18T20:14:20.184536" 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-08-18T20:14:20.187283" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.187054" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.187039" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.188020" 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-08-18T20:14:20.187659" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.188799" 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-08-18T20:14:20.188195" 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-08-18T20:14:20.188980" elapsed="0.000178"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-08-18T20:14:20.187011" elapsed="0.002184"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.189641" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.189371" elapsed="0.000509"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.189356" elapsed="0.000548"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.190406" 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-08-18T20:14:20.190044" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.191188" 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-08-18T20:14:20.190583" 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-08-18T20:14:20.191368" elapsed="0.000180"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-08-18T20:14:20.189327" 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-08-18T20:14:20.192006" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.191776" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.191760" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.192730" 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-08-18T20:14:20.192387" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.193511" 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-08-18T20:14:20.192923" 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-08-18T20:14:20.193688" elapsed="0.000196"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-08-18T20:14:20.191717" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.194352" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.194118" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.194082" elapsed="0.000510"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.195088" 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-08-18T20:14:20.194728" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.195865" 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-08-18T20:14:20.195263" 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-08-18T20:14:20.196042" elapsed="0.000178"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-08-18T20:14:20.194053" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.196659" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.196431" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.196416" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.197394" 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-08-18T20:14:20.197050" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.198190" 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-08-18T20:14:20.197568" 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-08-18T20:14:20.198369" elapsed="0.000179"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-08-18T20:14:20.196388" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.199006" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.198775" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.198759" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.199728" 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-08-18T20:14:20.199385" elapsed="0.000384"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.200516" 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-08-18T20:14:20.199921" 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-08-18T20:14:20.200731" elapsed="0.000197"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-08-18T20:14:20.198716" 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-08-18T20:14:20.201373" elapsed="0.000295"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.201142" elapsed="0.000565"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.201127" elapsed="0.000604"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.202249" 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-08-18T20:14:20.201886" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.203035" 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-08-18T20:14:20.202426" 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-08-18T20:14:20.203215" elapsed="0.000178"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-08-18T20:14:20.201099" 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-08-18T20:14:20.203847" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.203603" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.203589" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.204574" 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-08-18T20:14:20.204228" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.205357" 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-08-18T20:14:20.204764" 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-08-18T20:14:20.205536" elapsed="0.000180"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-08-18T20:14:20.203560" elapsed="0.002207"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.206195" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.205944" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.205930" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.206939" 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-08-18T20:14:20.206579" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.207704" 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-08-18T20:14:20.207114" 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-08-18T20:14:20.207898" elapsed="0.000179"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-08-18T20:14:20.205901" 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-08-18T20:14:20.208516" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.208287" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.208272" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.209254" 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-08-18T20:14:20.208910" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.210037" 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-08-18T20:14:20.209428" 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-08-18T20:14:20.210226" elapsed="0.000186"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-08-18T20:14:20.208244" elapsed="0.002204"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.210870" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.210623" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.210608" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.211587" 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-08-18T20:14:20.211246" elapsed="0.000366"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.212412" 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-08-18T20:14:20.211814" 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-08-18T20:14:20.212592" elapsed="0.000195"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-08-18T20:14:20.210579" 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-08-18T20:14:20.213229" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.212999" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.212985" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.213966" 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-08-18T20:14:20.213606" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.214760" 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-08-18T20:14:20.214155" 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-08-18T20:14:20.214940" elapsed="0.000183"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-08-18T20:14:20.212956" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.215563" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.215335" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.215320" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.216300" 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-08-18T20:14:20.215955" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.217087" 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-08-18T20:14:20.216477" 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-08-18T20:14:20.217265" elapsed="0.000177"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-08-18T20:14:20.215291" elapsed="0.002188"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.218010" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.217656" elapsed="0.000595"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.217641" elapsed="0.000634"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.218773" 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-08-18T20:14:20.218414" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.219542" 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-08-18T20:14:20.218951" 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-08-18T20:14:20.219720" elapsed="0.000194"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-08-18T20:14:20.217612" 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-08-18T20:14:20.220354" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.220125" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.220110" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.221088" 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-08-18T20:14:20.220729" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.221867" 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-08-18T20:14:20.221263" 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-08-18T20:14:20.222045" elapsed="0.000193"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-08-18T20:14:20.220081" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.222688" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.222460" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.222445" elapsed="0.000536"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.223467" 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-08-18T20:14:20.223122" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.224255" 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-08-18T20:14:20.223644" 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-08-18T20:14:20.224433" elapsed="0.000180"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-08-18T20:14:20.222416" 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-08-18T20:14:20.225069" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.224840" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.224825" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.225807" 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-08-18T20:14:20.225448" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.226592" 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-08-18T20:14:20.225984" 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-08-18T20:14:20.226787" elapsed="0.000181"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-08-18T20:14:20.224796" 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-08-18T20:14:20.227409" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.227179" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.227165" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.228146" 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-08-18T20:14:20.227803" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.228926" 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-08-18T20:14:20.228321" 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-08-18T20:14:20.229102" elapsed="0.000177"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-08-18T20:14:20.227136" elapsed="0.002179"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.229718" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.229489" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.229475" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.230482" 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-08-18T20:14:20.230136" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.231379" 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-08-18T20:14:20.230712" elapsed="0.000695"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.231557" elapsed="0.000180"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-08-18T20:14:20.229446" elapsed="0.002345"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.232201" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.231971" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.231955" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.232940" 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-08-18T20:14:20.232580" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.233713" 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-08-18T20:14:20.233117" 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-08-18T20:14:20.233906" elapsed="0.000195"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-08-18T20:14:20.231925" 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-08-18T20:14:20.234695" elapsed="0.000199"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.234458" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.234339" elapsed="0.000618"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.235444" 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-08-18T20:14:20.235096" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.236234" 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-08-18T20:14:20.235622" 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-08-18T20:14:20.236437" elapsed="0.000182"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-08-18T20:14:20.234310" 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-08-18T20:14:20.237078" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.236848" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.236833" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.237818" 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-08-18T20:14:20.237454" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.238609" 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-08-18T20:14:20.237997" 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-08-18T20:14:20.238805" elapsed="0.000180"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-08-18T20:14:20.236803" 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-08-18T20:14:20.239422" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.239194" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.239180" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.240158" 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-08-18T20:14:20.239813" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.240938" 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-08-18T20:14:20.240333" 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-08-18T20:14:20.241115" elapsed="0.000178"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-08-18T20:14:20.239151" elapsed="0.002178"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.241728" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.241500" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.241486" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.242499" 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-08-18T20:14:20.242146" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.243288" 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-08-18T20:14:20.242676" 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-08-18T20:14:20.243465" elapsed="0.000180"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-08-18T20:14:20.241458" 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-08-18T20:14:20.244104" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.243874" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.243860" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.244839" 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-08-18T20:14:20.244480" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.245602" 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-08-18T20:14:20.245013" 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-08-18T20:14:20.245830" elapsed="0.000182"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-08-18T20:14:20.243830" 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-08-18T20:14:20.246469" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.246238" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.246224" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.247205" 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-08-18T20:14:20.246861" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.247989" 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-08-18T20:14:20.247382" 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-08-18T20:14:20.248167" elapsed="0.000178"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-08-18T20:14:20.246195" elapsed="0.002187"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.248800" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.248556" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.248541" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.249525" 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-08-18T20:14:20.249181" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.250324" 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-08-18T20:14:20.249699" 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-08-18T20:14:20.250502" elapsed="0.000179"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-08-18T20:14:20.248513" elapsed="0.002204"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.251251" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.251015" elapsed="0.000456"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.250895" elapsed="0.000600"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.251997" 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-08-18T20:14:20.251633" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.252783" 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-08-18T20:14:20.252172" 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-08-18T20:14:20.252961" elapsed="0.000179"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-08-18T20:14:20.250866" 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-08-18T20:14:20.253582" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.253352" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.253337" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.254350" 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-08-18T20:14:20.253975" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.255136" 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-08-18T20:14:20.254525" 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-08-18T20:14:20.255314" elapsed="0.000178"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-08-18T20:14:20.253308" 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-08-18T20:14:20.255950" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.255702" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.255688" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.256672" 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-08-18T20:14:20.256330" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.257491" 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-08-18T20:14:20.256899" 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-08-18T20:14:20.257669" elapsed="0.000194"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-08-18T20:14:20.255659" 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-08-18T20:14:20.258323" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.258089" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.258074" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.259058" 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-08-18T20:14:20.258699" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.259838" 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-08-18T20:14:20.259233" 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-08-18T20:14:20.260017" elapsed="0.000178"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-08-18T20:14:20.258032" elapsed="0.002199"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.260637" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.260407" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.260392" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.261373" 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-08-18T20:14:20.261030" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.262166" 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-08-18T20:14:20.261549" 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-08-18T20:14:20.262344" elapsed="0.000178"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-08-18T20:14:20.260363" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.262983" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.262735" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.262721" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.263702" 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-08-18T20:14:20.263360" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.264483" 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-08-18T20:14:20.263893" 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-08-18T20:14:20.264661" elapsed="0.000195"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-08-18T20:14:20.262692" elapsed="0.002201"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.265302" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.265072" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.265056" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.266068" 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-08-18T20:14:20.265678" elapsed="0.000418"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.266861" 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-08-18T20:14:20.266249" 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-08-18T20:14:20.267039" elapsed="0.000177"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-08-18T20:14:20.265027" 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-08-18T20:14:20.267817" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.267533" elapsed="0.000506"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.267413" elapsed="0.000651"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.268547" 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-08-18T20:14:20.268203" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.269328" 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-08-18T20:14:20.268723" 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-08-18T20:14:20.269506" elapsed="0.000179"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-08-18T20:14:20.267384" 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-08-18T20:14:20.270156" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.269913" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.269898" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.270893" 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-08-18T20:14:20.270532" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.271658" 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-08-18T20:14:20.271068" 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-08-18T20:14:20.271852" elapsed="0.000179"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-08-18T20:14:20.269869" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.272472" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.272242" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.272228" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.273207" 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-08-18T20:14:20.272864" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.273983" 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-08-18T20:14:20.273381" 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-08-18T20:14:20.274174" elapsed="0.000180"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-08-18T20:14:20.272199" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.274810" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.274562" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.274548" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.275532" 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-08-18T20:14:20.275188" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.276314" 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-08-18T20:14:20.275707" 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-08-18T20:14:20.276493" elapsed="0.000180"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-08-18T20:14:20.274519" elapsed="0.002190"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.277131" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.276901" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.276887" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.277868" 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-08-18T20:14:20.277507" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.278658" 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-08-18T20:14:20.278068" 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-08-18T20:14:20.278892" elapsed="0.000180"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-08-18T20:14:20.276857" 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-08-18T20:14:20.279513" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.279284" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.279269" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.280250" 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-08-18T20:14:20.279906" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.281027" 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-08-18T20:14:20.280424" 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-08-18T20:14:20.281206" elapsed="0.000178"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-08-18T20:14:20.279240" elapsed="0.002181"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.281839" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.281596" elapsed="0.000483"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.281581" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.282593" 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-08-18T20:14:20.282245" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.283378" 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-08-18T20:14:20.282784" 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-08-18T20:14:20.283557" elapsed="0.000177"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-08-18T20:14:20.281552" 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-08-18T20:14:20.284779" elapsed="0.000187"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.284525" elapsed="0.000479"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.283951" elapsed="0.001077"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.285518" 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-08-18T20:14:20.285167" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.286319" 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-08-18T20:14:20.285694" 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-08-18T20:14:20.286500" elapsed="0.000179"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-08-18T20:14:20.283923" elapsed="0.002793"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.287142" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.286911" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.286896" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.287881" 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-08-18T20:14:20.287520" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.288647" 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-08-18T20:14:20.288057" 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-08-18T20:14:20.288841" elapsed="0.000182"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-08-18T20:14:20.286866" elapsed="0.002193"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.289465" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.289235" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.289220" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.290231" 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-08-18T20:14:20.289858" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.291054" 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-08-18T20:14:20.290443" 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-08-18T20:14:20.291233" elapsed="0.000179"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-08-18T20:14:20.289191" 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-08-18T20:14:20.291868" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.291622" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.291607" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.292596" 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-08-18T20:14:20.292249" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.293382" 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-08-18T20:14:20.292788" 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-08-18T20:14:20.293562" elapsed="0.000195"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-08-18T20:14:20.291579" 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-08-18T20:14:20.294215" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.293971" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.293956" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.294954" 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-08-18T20:14:20.294592" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.295725" 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-08-18T20:14:20.295131" 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-08-18T20:14:20.295921" elapsed="0.000180"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-08-18T20:14:20.293928" elapsed="0.002210"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.296544" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.296314" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.296299" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.297283" 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-08-18T20:14:20.296938" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.298083" 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-08-18T20:14:20.297459" 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-08-18T20:14:20.298264" elapsed="0.000183"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-08-18T20:14:20.296270" 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-08-18T20:14:20.298912" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.298662" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.298648" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.299643" 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-08-18T20:14:20.299297" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.300430" 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-08-18T20:14:20.299835" 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-08-18T20:14:20.300609" elapsed="0.000194"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-08-18T20:14:20.298619" 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-08-18T20:14:20.301371" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.301131" elapsed="0.000492"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.301003" elapsed="0.000647"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.302186" 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-08-18T20:14:20.301807" elapsed="0.000406"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.302980" 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-08-18T20:14:20.302367" 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-08-18T20:14:20.303162" elapsed="0.000181"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-08-18T20:14:20.300973" 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-08-18T20:14:20.303805" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.303559" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.303545" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.304531" 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-08-18T20:14:20.304186" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.305316" 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-08-18T20:14:20.304708" 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-08-18T20:14:20.305497" elapsed="0.000179"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-08-18T20:14:20.303515" elapsed="0.002197"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.306150" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.305905" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.305890" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.306896" 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-08-18T20:14:20.306533" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.307661" 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-08-18T20:14:20.307072" 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-08-18T20:14:20.307861" elapsed="0.000181"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-08-18T20:14:20.305860" 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-08-18T20:14:20.308485" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.308255" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.308241" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.309227" 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-08-18T20:14:20.308882" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.310020" 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-08-18T20:14:20.309404" 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-08-18T20:14:20.310199" elapsed="0.000180"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-08-18T20:14:20.308212" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.310836" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.310591" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.310577" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.311562" 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-08-18T20:14:20.311218" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.312343" 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-08-18T20:14:20.311736" 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-08-18T20:14:20.312520" elapsed="0.000179"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-08-18T20:14:20.310548" 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-08-18T20:14:20.313198" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.312964" elapsed="0.000452"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.312949" elapsed="0.000492"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.313941" 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-08-18T20:14:20.313579" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.314762" 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-08-18T20:14:20.314147" 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-08-18T20:14:20.314945" elapsed="0.000181"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-08-18T20:14:20.312919" 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-08-18T20:14:20.315568" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.315338" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.315323" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.316313" 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-08-18T20:14:20.315968" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.317104" 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-08-18T20:14:20.316491" 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-08-18T20:14:20.317281" elapsed="0.000181"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-08-18T20:14:20.315294" elapsed="0.002204"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.318054" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.317801" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.317658" elapsed="0.000644"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.318802" 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-08-18T20:14:20.318441" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.319577" 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-08-18T20:14:20.318980" 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-08-18T20:14:20.319770" elapsed="0.000184"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-08-18T20:14:20.317629" 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-08-18T20:14:20.320398" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.320167" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.320152" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.321145" 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-08-18T20:14:20.320794" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.321935" 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-08-18T20:14:20.321323" 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-08-18T20:14:20.322128" elapsed="0.000185"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-08-18T20:14:20.320123" 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-08-18T20:14:20.322769" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.322525" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.322510" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.323498" 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-08-18T20:14:20.323152" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.324290" 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-08-18T20:14:20.323674" 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-08-18T20:14:20.324506" elapsed="0.000181"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-08-18T20:14:20.322481" 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-08-18T20:14:20.325146" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.324915" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.324901" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.325890" 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-08-18T20:14:20.325527" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.326690" 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-08-18T20:14:20.326092" 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-08-18T20:14:20.326886" elapsed="0.000182"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-08-18T20:14:20.324872" 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-08-18T20:14:20.327510" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.327280" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.327265" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.328251" 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-08-18T20:14:20.327906" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.329032" 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-08-18T20:14:20.328426" 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-08-18T20:14:20.329211" elapsed="0.000179"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-08-18T20:14:20.327236" elapsed="0.002190"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.329843" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.329600" elapsed="0.000474"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.329586" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.330582" 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-08-18T20:14:20.330236" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.331363" 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-08-18T20:14:20.330771" 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-08-18T20:14:20.331540" elapsed="0.000176"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-08-18T20:14:20.329557" 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-08-18T20:14:20.332175" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.331945" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.331931" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.332918" 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-08-18T20:14:20.332555" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.333688" 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-08-18T20:14:20.333095" 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-08-18T20:14:20.333886" elapsed="0.000193"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-08-18T20:14:20.331902" 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-08-18T20:14:20.334639" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.334403" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.334279" elapsed="0.000620"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.335386" 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-08-18T20:14:20.335038" elapsed="0.000407"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.336218" 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-08-18T20:14:20.335602" 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-08-18T20:14:20.336400" elapsed="0.000181"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-08-18T20:14:20.334250" elapsed="0.002367"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.337046" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.336816" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.336801" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.337784" 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-08-18T20:14:20.337425" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.338582" 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-08-18T20:14:20.337961" 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-08-18T20:14:20.338776" elapsed="0.000179"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-08-18T20:14:20.336770" 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-08-18T20:14:20.339394" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.339165" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.339151" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.340134" 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-08-18T20:14:20.339788" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.340926" 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-08-18T20:14:20.340308" 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-08-18T20:14:20.341105" elapsed="0.000180"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-08-18T20:14:20.339122" elapsed="0.002200"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.341724" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.341496" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.341481" elapsed="0.000517"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.342485" 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-08-18T20:14:20.342138" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.343274" 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-08-18T20:14:20.342661" 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-08-18T20:14:20.343454" elapsed="0.000180"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-08-18T20:14:20.341453" 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-08-18T20:14:20.344095" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.343865" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.343849" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.344833" 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-08-18T20:14:20.344474" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.345597" 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-08-18T20:14:20.345008" 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-08-18T20:14:20.345788" elapsed="0.000194"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-08-18T20:14:20.343820" elapsed="0.002199"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.346463" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.346194" elapsed="0.000488"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.346179" elapsed="0.000528"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.347211" 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-08-18T20:14:20.346862" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.347996" 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-08-18T20:14:20.347388" 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-08-18T20:14:20.348174" elapsed="0.000180"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-08-18T20:14:20.346150" 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-08-18T20:14:20.348812" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.348567" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.348552" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.349541" 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-08-18T20:14:20.349194" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.350366" 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-08-18T20:14:20.349717" 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-08-18T20:14:20.350546" elapsed="0.000178"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-08-18T20:14:20.348523" 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-08-18T20:14:20.351297" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.351061" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.350940" elapsed="0.000599"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.352041" 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-08-18T20:14:20.351677" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.352827" 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-08-18T20:14:20.352217" 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-08-18T20:14:20.353007" elapsed="0.000180"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-08-18T20:14:20.350911" 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-08-18T20:14:20.353627" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.353399" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.353384" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.354384" 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-08-18T20:14:20.354031" elapsed="0.000379"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.355169" 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-08-18T20:14:20.354561" 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-08-18T20:14:20.355346" elapsed="0.000178"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-08-18T20:14:20.353355" elapsed="0.002206"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.355984" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.355736" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.355722" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.356702" 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-08-18T20:14:20.356360" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.357486" 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-08-18T20:14:20.356893" 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-08-18T20:14:20.357703" elapsed="0.000197"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-08-18T20:14:20.355693" 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-08-18T20:14:20.358356" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.358126" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.358112" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.359098" 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-08-18T20:14:20.358736" elapsed="0.000387"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.359883" 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-08-18T20:14:20.359275" 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-08-18T20:14:20.360062" elapsed="0.000179"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-08-18T20:14:20.358083" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.360683" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.360454" elapsed="0.000460"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.360440" elapsed="0.000498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.361418" 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-08-18T20:14:20.361076" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.362224" 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-08-18T20:14:20.361593" 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-08-18T20:14:20.362404" elapsed="0.000177"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-08-18T20:14:20.360410" elapsed="0.002207"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.363041" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.362811" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.362794" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.363775" 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-08-18T20:14:20.363419" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.364544" 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-08-18T20:14:20.363952" 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-08-18T20:14:20.364722" elapsed="0.000194"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-08-18T20:14:20.362764" elapsed="0.002189"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.365359" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.365130" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.365115" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.366110" 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-08-18T20:14:20.365736" elapsed="0.000400"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.366902" 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-08-18T20:14:20.366290" 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-08-18T20:14:20.367080" elapsed="0.000179"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-08-18T20:14:20.365086" elapsed="0.002209"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.367831" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.367578" elapsed="0.000472"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.367455" elapsed="0.000619"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.368557" 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-08-18T20:14:20.368213" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.369381" 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-08-18T20:14:20.368782" 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-08-18T20:14:20.369562" elapsed="0.000179"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-08-18T20:14:20.367426" elapsed="0.002367"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.370214" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.369983" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.369968" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.370956" 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-08-18T20:14:20.370596" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.371723" 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-08-18T20:14:20.371131" 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-08-18T20:14:20.371917" elapsed="0.000179"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-08-18T20:14:20.369927" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.372534" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.372305" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.372291" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.373275" 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-08-18T20:14:20.372930" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.374091" 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-08-18T20:14:20.373451" 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-08-18T20:14:20.374278" elapsed="0.000179"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-08-18T20:14:20.372262" 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-08-18T20:14:20.374917" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.374669" elapsed="0.000463"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.374654" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.375640" 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-08-18T20:14:20.375294" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.376429" 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-08-18T20:14:20.375831" 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-08-18T20:14:20.376607" elapsed="0.000194"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-08-18T20:14:20.374625" 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-08-18T20:14:20.377242" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.377013" elapsed="0.000443"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.376998" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.377996" 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-08-18T20:14:20.377618" elapsed="0.000405"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.378786" 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-08-18T20:14:20.378172" 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-08-18T20:14:20.378964" elapsed="0.000177"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-08-18T20:14:20.376969" 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-08-18T20:14:20.379581" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.379352" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.379336" elapsed="0.000536"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.380357" 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-08-18T20:14:20.380013" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.381147" 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-08-18T20:14:20.380536" 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-08-18T20:14:20.381325" elapsed="0.000179"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-08-18T20:14:20.379307" 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-08-18T20:14:20.381975" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.381716" elapsed="0.000477"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.381701" elapsed="0.000518"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.382701" 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-08-18T20:14:20.382357" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.383486" 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-08-18T20:14:20.382894" 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-08-18T20:14:20.383665" elapsed="0.000194"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-08-18T20:14:20.381672" 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-08-18T20:14:20.384415" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.384178" elapsed="0.000455"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.384058" elapsed="0.000599"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.385157" 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-08-18T20:14:20.384811" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.385963" 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-08-18T20:14:20.385334" 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-08-18T20:14:20.386146" elapsed="0.000180"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-08-18T20:14:20.384029" 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-08-18T20:14:20.386781" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.386537" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.386522" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.387509" 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-08-18T20:14:20.387164" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.388299" 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-08-18T20:14:20.387687" 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-08-18T20:14:20.388478" elapsed="0.000179"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-08-18T20:14:20.386493" elapsed="0.002201"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-08-18T20:14:20.150977" elapsed="0.237748"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.390004" 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-08-18T20:14:20.388892" elapsed="0.001140"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.390090" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:20.390242" 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-08-18T20:14:20.098108" elapsed="0.292161"/>
</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-08-18T20:14:20.391538" 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-08-18T20:14:20.391308" elapsed="0.000293">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-08-18T20:14:20.391692" 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-08-18T20:14:20.390977" elapsed="0.000739"/>
</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-08-18T20:14:20.392045" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.391803" elapsed="0.000299"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.392592" 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-08-18T20:14:20.392306" elapsed="0.000312"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.392126" elapsed="0.000527"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.391784" elapsed="0.000891"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.394964" 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-08-18T20:14:20.392839" elapsed="0.002151"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:14:20.395040" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:20.395192" 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-08-18T20:14:20.390636" elapsed="0.004580"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.396699" 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-08-18T20:14:20.396456" elapsed="0.000301"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.397143" 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-08-18T20:14:20.396908" elapsed="0.000927"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.398279" 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-08-18T20:14:20.398030" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.398704" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:20.398469" elapsed="0.000295"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:20.399543" 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-08-18T20:14:20.399357" elapsed="0.000211"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-08-18T20:14:20.399902" 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-08-18T20:14:20.399714" elapsed="0.000213"/>
</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-08-18T20:14:20.400071" elapsed="0.000183"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.400647" 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-08-18T20:14:20.400405" elapsed="0.000285"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-08-18T20:14:20.400732" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:14:20.400902" 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-08-18T20:14:20.398962" elapsed="0.001964"/>
</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-08-18T20:14:20.429978" level="INFO">POST Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.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-08-18T20:14:20.430351" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A2/flow-node-inventory:table=0 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:14:20.430579" 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-08-18T20:14:20.403145" elapsed="0.027499"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.401144" elapsed="0.029645"/>
</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-08-18T20:14:20.431221" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.430854" elapsed="0.000530"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.400978" elapsed="0.030457"/>
</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-08-18T20:14:20.439047" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:20.433962" elapsed="0.005128"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.433387" elapsed="0.005738"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.433343" elapsed="0.005807"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.441554" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:20.439425" elapsed="0.002174"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.439205" elapsed="0.002429"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.439188" elapsed="0.002469"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.442256" 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-08-18T20:14:20.441845" elapsed="0.000439"/>
</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-08-18T20:14:20.442599" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.442354" elapsed="0.000303"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.443225" 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-08-18T20:14:20.442866" elapsed="0.000389"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.442681" elapsed="0.000611"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.442336" elapsed="0.000977"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.443864" 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-08-18T20:14:20.443483" elapsed="0.000407"/>
</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-08-18T20:14:20.444199" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.443959" elapsed="0.000297"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.444779" 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-08-18T20:14:20.444467" elapsed="0.000339"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.444279" elapsed="0.000563"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.443942" elapsed="0.000921"/>
</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-08-18T20:14:20.445008" elapsed="0.000341"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-08-18T20:14:20.445798" 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-08-18T20:14:20.445508" elapsed="0.000317"/>
</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-08-18T20:14:20.445986" elapsed="0.002150"/>
</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-08-18T20:14:20.432300" elapsed="0.015899"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:20.448376" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:20.448270" elapsed="0.000151"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.448252" elapsed="0.000190"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-08-18T20:14:20.450832" 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-08-18T20:14:20.448584" elapsed="0.002274"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-08-18T20:14:20.450907" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:20.451060" 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-08-18T20:14:20.395531" elapsed="0.055554"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.451193" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:20.451344" 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-08-18T20:14:20.016481" elapsed="0.434888"/>
</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-08-18T20:14:20.451707" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.451474" elapsed="0.000319"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.451457" elapsed="0.000360"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.451851" 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-08-18T20:14:20.014006" elapsed="0.437969"/>
</kw>
<var name="${switch}">2</var>
<status status="PASS" start="2026-08-18T20:14:20.002855" elapsed="0.449164"/>
</iter>
<iter>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.452644" 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-08-18T20:14:20.452252" elapsed="0.000419"/>
</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-08-18T20:14:20.493320" 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-08-18T20:14:20.492951" elapsed="0.000397"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.494087" 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-08-18T20:14:20.493872" elapsed="0.000279">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-08-18T20:14:20.494242" 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-08-18T20:14:20.493507" elapsed="0.000759"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.494827" 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-08-18T20:14:20.494426" elapsed="0.000428"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.495144" 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-08-18T20:14:20.495270" 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-08-18T20:14:20.495010" elapsed="0.000285"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.495683" 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-08-18T20:14:20.495445" elapsed="0.000282"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.496659" 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-08-18T20:14:20.496407" elapsed="0.000295"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.497130" 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-08-18T20:14:20.496873" elapsed="0.000282"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Convert To String" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.497849" 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-08-18T20:14:20.497493" elapsed="0.000383"/>
</kw>
<kw name="Percent_Encode_String" owner="TemplatedRequests">
<kw name="Replace String Using Regexp" owner="String">
<msg time="2026-08-18T20:14:20.498822" 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-08-18T20:14:20.498391" elapsed="0.000457"/>
</kw>
<return>
<value>${encoded}</value>
<status status="PASS" start="2026-08-18T20:14:20.498935" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:14:20.499092" 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-08-18T20:14:20.498057" elapsed="0.001059"/>
</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-08-18T20:14:20.499264" elapsed="0.000264"/>
</kw>
<var name="${key}">NODE</var>
<var name="${value}">openflow:3</var>
<status status="PASS" start="2026-08-18T20:14:20.497365" elapsed="0.002205"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="PASS" start="2026-08-18T20:14:20.497203" elapsed="0.002402"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:14:20.499648" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:20.499829" level="INFO">${mapping_to_use} = {'NODE': 'openflow%3A3'}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:14:20.496091" elapsed="0.003763"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.495809" elapsed="0.004077"/>
</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-08-18T20:14:20.500056" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.499910" elapsed="0.000200"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.495791" elapsed="0.004340"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.500809" 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-08-18T20:14:20.500267" elapsed="0.000570"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.500886" 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-08-18T20:14:20.492332" elapsed="0.008677"/>
</kw>
<msg time="2026-08-18T20:14:20.501061" 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-08-18T20:14:20.480426" elapsed="0.020682"/>
</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-08-18T20:14:20.512924" 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-08-18T20:14:20.524494" 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-08-18T20:14:20.536136" 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-08-18T20:14:20.536328" 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-08-18T20:14:20.536498" 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-08-18T20:14:20.536865" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.536709" elapsed="0.000211"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:20.536695" elapsed="0.000248"/>
</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-08-18T20:14:20.537079" elapsed="0.000020"/>
</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-08-18T20:14:20.537278" 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-08-18T20:14:20.537442" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:14:20.536668" elapsed="0.000826"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:14:20.536570" elapsed="0.000950"/>
</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-08-18T20:14:20.537662" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:20.537736" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:20.537888" 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-08-18T20:14:20.476376" elapsed="0.061539"/>
</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-08-18T20:14:20.548183" elapsed="0.000330"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.561047" 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-08-18T20:14:20.560659" elapsed="0.000416"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.561776" 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-08-18T20:14:20.561557" elapsed="0.000295">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-08-18T20:14:20.561944" 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-08-18T20:14:20.561232" elapsed="0.000736"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.562503" 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-08-18T20:14:20.562128" elapsed="0.000401"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.562833" 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-08-18T20:14:20.562955" 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-08-18T20:14:20.562683" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.563369" level="INFO">{
  "flow": [
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:20.563131" elapsed="0.000281"/>
</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-08-18T20:14:20.563769" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.563475" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.564278" 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-08-18T20:14:20.563992" elapsed="0.000312"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.563852" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.563457" elapsed="0.000902"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.564929" 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-08-18T20:14:20.564497" elapsed="0.000459"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.565004" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:20.565154" 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-08-18T20:14:20.560061" elapsed="0.005117"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.578084" 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-08-18T20:14:20.577671" elapsed="0.000441"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.578813" 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-08-18T20:14:20.578595" elapsed="0.000282">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-08-18T20:14:20.578968" 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-08-18T20:14:20.578271" elapsed="0.000721"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.579523" 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-08-18T20:14:20.579149" elapsed="0.000401"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.579853" 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-08-18T20:14:20.579975" 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-08-18T20:14:20.579704" elapsed="0.000296"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.580387" level="INFO">  ]
}
</msg>
<arg>${template}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:20.580148" elapsed="0.000281"/>
</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-08-18T20:14:20.580796" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.580495" elapsed="0.000360"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.581310" 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-08-18T20:14:20.581022" elapsed="0.000314"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.580880" elapsed="0.000489"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.580477" elapsed="0.000914"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.581975" 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-08-18T20:14:20.581531" elapsed="0.000471"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.582050" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:20.582201" 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-08-18T20:14:20.577058" elapsed="0.005167"/>
</kw>
<kw name="Resolve_Text_From_Template_File" owner="TemplatedRequests">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.594817" 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-08-18T20:14:20.594431" elapsed="0.000414"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.595529" 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-08-18T20:14:20.595327" elapsed="0.000264">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-08-18T20:14:20.595683" 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-08-18T20:14:20.595002" elapsed="0.000705"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.596259" 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-08-18T20:14:20.595882" elapsed="0.000404"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:20.596573" 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-08-18T20:14:20.596729" 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-08-18T20:14:20.596441" elapsed="0.000334"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.597169" 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-08-18T20:14:20.596928" 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-08-18T20:14:20.597565" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.597284" elapsed="0.000338"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.598104" 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-08-18T20:14:20.597813" elapsed="0.000317"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.597646" elapsed="0.000518"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.597266" elapsed="0.000920"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.598928" 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-08-18T20:14:20.598326" elapsed="0.000631"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.599006" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:20.599160" 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-08-18T20:14:20.593901" elapsed="0.005285"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.599595" level="INFO">${items} = []</msg>
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="PASS" start="2026-08-18T20:14:20.599344" elapsed="0.000277"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.600169" 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-08-18T20:14:20.599806" elapsed="0.000389"/>
</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-08-18T20:14:20.600813" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.600567" elapsed="0.000304"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.600552" elapsed="0.000343"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.601381" 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-08-18T20:14:20.601035" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.602385" 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-08-18T20:14:20.601558" 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-08-18T20:14:20.602568" elapsed="0.000202"/>
</kw>
<var name="${iteration}">1</var>
<status status="PASS" start="2026-08-18T20:14:20.600522" 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-08-18T20:14:20.603216" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.602984" elapsed="0.000454"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.602970" elapsed="0.000492"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.603967" 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-08-18T20:14:20.603600" elapsed="0.000393"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.604740" 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-08-18T20:14:20.604145" 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-08-18T20:14:20.604955" elapsed="0.000182"/>
</kw>
<var name="${iteration}">2</var>
<status status="PASS" start="2026-08-18T20:14:20.602941" 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-08-18T20:14:20.605619" elapsed="0.000226"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.605386" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.605371" elapsed="0.000537"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.606401" 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-08-18T20:14:20.606049" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.607197" 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-08-18T20:14:20.606580" 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-08-18T20:14:20.607379" elapsed="0.000182"/>
</kw>
<var name="${iteration}">3</var>
<status status="PASS" start="2026-08-18T20:14:20.605341" 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-08-18T20:14:20.608027" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.607792" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.607777" elapsed="0.000492"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.608773" 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-08-18T20:14:20.608407" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.609543" 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-08-18T20:14:20.608952" 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-08-18T20:14:20.609721" elapsed="0.000208"/>
</kw>
<var name="${iteration}">4</var>
<status status="PASS" start="2026-08-18T20:14:20.607732" 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-08-18T20:14:20.610373" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.610142" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.610127" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.611116" 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-08-18T20:14:20.610769" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.611899" 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-08-18T20:14:20.611293" 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-08-18T20:14:20.612078" elapsed="0.000179"/>
</kw>
<var name="${iteration}">5</var>
<status status="PASS" start="2026-08-18T20:14:20.610099" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.612700" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.612470" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.612456" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.613438" 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-08-18T20:14:20.613096" elapsed="0.000368"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.614243" 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-08-18T20:14:20.613613" 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-08-18T20:14:20.614423" elapsed="0.000179"/>
</kw>
<var name="${iteration}">6</var>
<status status="PASS" start="2026-08-18T20:14:20.612427" 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-08-18T20:14:20.615059" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.614829" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.614815" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.615799" 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-08-18T20:14:20.615440" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.616570" 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-08-18T20:14:20.615976" 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-08-18T20:14:20.616799" elapsed="0.000182"/>
</kw>
<var name="${iteration}">7</var>
<status status="PASS" start="2026-08-18T20:14:20.614784" 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-08-18T20:14:20.617428" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.617195" elapsed="0.000452"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.617180" elapsed="0.000491"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.618206" 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-08-18T20:14:20.617854" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.619632" 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-08-18T20:14:20.618387" elapsed="0.001274"/>
</kw>
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${item}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.619831" elapsed="0.000182"/>
</kw>
<var name="${iteration}">8</var>
<status status="PASS" start="2026-08-18T20:14:20.617150" elapsed="0.002901"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.620458" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.620227" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.620212" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.621202" 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-08-18T20:14:20.620854" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.622013" 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-08-18T20:14:20.621380" 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-08-18T20:14:20.622195" elapsed="0.000181"/>
</kw>
<var name="${iteration}">9</var>
<status status="PASS" start="2026-08-18T20:14:20.620183" 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-08-18T20:14:20.622836" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.622589" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.622575" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.623564" 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-08-18T20:14:20.623218" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.624352" 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-08-18T20:14:20.623740" 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-08-18T20:14:20.624531" elapsed="0.000179"/>
</kw>
<var name="${iteration}">10</var>
<status status="PASS" start="2026-08-18T20:14:20.622546" 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-08-18T20:14:20.625170" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.624939" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.624924" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.625933" 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-08-18T20:14:20.625549" elapsed="0.000411"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.626710" 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-08-18T20:14:20.626112" 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-08-18T20:14:20.626907" elapsed="0.000181"/>
</kw>
<var name="${iteration}">11</var>
<status status="PASS" start="2026-08-18T20:14:20.624896" 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-08-18T20:14:20.627544" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.627311" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.627297" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.628292" 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-08-18T20:14:20.627943" elapsed="0.000409"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.629128" 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-08-18T20:14:20.628508" 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-08-18T20:14:20.629308" elapsed="0.000179"/>
</kw>
<var name="${iteration}">12</var>
<status status="PASS" start="2026-08-18T20:14:20.627263" 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-08-18T20:14:20.629966" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.629701" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.629686" elapsed="0.000524"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.630694" 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-08-18T20:14:20.630348" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.631484" 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-08-18T20:14:20.630887" 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-08-18T20:14:20.631666" elapsed="0.000196"/>
</kw>
<var name="${iteration}">13</var>
<status status="PASS" start="2026-08-18T20:14:20.629657" 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-08-18T20:14:20.632306" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.632076" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.632061" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.633051" 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-08-18T20:14:20.632686" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.633866" 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-08-18T20:14:20.633227" 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-08-18T20:14:20.634047" elapsed="0.000179"/>
</kw>
<var name="${iteration}">14</var>
<status status="PASS" start="2026-08-18T20:14:20.632032" 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-08-18T20:14:20.634670" elapsed="0.000277"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.634439" elapsed="0.000547"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.634424" elapsed="0.000587"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.635503" 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-08-18T20:14:20.635152" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.636428" 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-08-18T20:14:20.635680" 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-08-18T20:14:20.636608" elapsed="0.000198"/>
</kw>
<var name="${iteration}">15</var>
<status status="PASS" start="2026-08-18T20:14:20.634395" 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-08-18T20:14:20.637254" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.637021" elapsed="0.000450"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.637007" elapsed="0.000489"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.638045" 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-08-18T20:14:20.637635" elapsed="0.000436"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.638840" 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-08-18T20:14:20.638223" 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-08-18T20:14:20.639019" elapsed="0.000182"/>
</kw>
<var name="${iteration}">16</var>
<status status="PASS" start="2026-08-18T20:14:20.636977" 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-08-18T20:14:20.639684" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.639413" elapsed="0.000512"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.639399" elapsed="0.000551"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.640441" 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-08-18T20:14:20.640091" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.641243" 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-08-18T20:14:20.640618" 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-08-18T20:14:20.641422" elapsed="0.000183"/>
</kw>
<var name="${iteration}">17</var>
<status status="PASS" start="2026-08-18T20:14:20.639370" 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-08-18T20:14:20.642085" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.641850" elapsed="0.000453"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.641835" elapsed="0.000492"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.642831" 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-08-18T20:14:20.642467" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.643605" 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-08-18T20:14:20.643009" 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-08-18T20:14:20.643800" elapsed="0.000181"/>
</kw>
<var name="${iteration}">18</var>
<status status="PASS" start="2026-08-18T20:14:20.641805" 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-08-18T20:14:20.644427" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.644196" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.644181" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.645172" 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-08-18T20:14:20.644823" elapsed="0.000375"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.645973" 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-08-18T20:14:20.645348" 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-08-18T20:14:20.646152" elapsed="0.000179"/>
</kw>
<var name="${iteration}">19</var>
<status status="PASS" start="2026-08-18T20:14:20.644152" 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-08-18T20:14:20.646791" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.646545" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.646530" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.647516" 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-08-18T20:14:20.647171" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.648302" 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-08-18T20:14:20.647694" 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-08-18T20:14:20.648481" elapsed="0.000178"/>
</kw>
<var name="${iteration}">20</var>
<status status="PASS" start="2026-08-18T20:14:20.646501" elapsed="0.002195"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.649120" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.648888" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.648874" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.649895" 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-08-18T20:14:20.649500" elapsed="0.000423"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.650678" 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-08-18T20:14:20.650074" 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-08-18T20:14:20.650913" elapsed="0.000183"/>
</kw>
<var name="${iteration}">21</var>
<status status="PASS" start="2026-08-18T20:14:20.648845" 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-08-18T20:14:20.651544" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.651310" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.651295" elapsed="0.000509"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.652439" 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-08-18T20:14:20.651946" elapsed="0.000521"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.653248" 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-08-18T20:14:20.652619" 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-08-18T20:14:20.653429" elapsed="0.000182"/>
</kw>
<var name="${iteration}">22</var>
<status status="PASS" start="2026-08-18T20:14:20.651266" 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-08-18T20:14:20.654109" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.653868" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.653853" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.654854" 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-08-18T20:14:20.654491" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.655630" 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-08-18T20:14:20.655033" 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-08-18T20:14:20.655826" elapsed="0.000182"/>
</kw>
<var name="${iteration}">23</var>
<status status="PASS" start="2026-08-18T20:14:20.653822" 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-08-18T20:14:20.656453" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.656221" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.656206" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.657198" 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-08-18T20:14:20.656850" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.658002" 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-08-18T20:14:20.657375" 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-08-18T20:14:20.658182" elapsed="0.000180"/>
</kw>
<var name="${iteration}">24</var>
<status status="PASS" start="2026-08-18T20:14:20.656177" 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-08-18T20:14:20.658828" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.658575" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.658560" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.659559" 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-08-18T20:14:20.659212" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.660353" 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-08-18T20:14:20.659739" 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-08-18T20:14:20.660531" elapsed="0.000179"/>
</kw>
<var name="${iteration}">25</var>
<status status="PASS" start="2026-08-18T20:14:20.658531" 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-08-18T20:14:20.661171" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.660940" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.660925" elapsed="0.000485"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.661939" 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-08-18T20:14:20.661549" elapsed="0.000417"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.662777" 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-08-18T20:14:20.662158" 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-08-18T20:14:20.662957" elapsed="0.000180"/>
</kw>
<var name="${iteration}">26</var>
<status status="PASS" start="2026-08-18T20:14:20.660895" 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-08-18T20:14:20.663584" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.663352" elapsed="0.000468"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.663337" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.664330" 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-08-18T20:14:20.663984" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.665121" 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-08-18T20:14:20.664508" 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-08-18T20:14:20.665301" elapsed="0.000180"/>
</kw>
<var name="${iteration}">27</var>
<status status="PASS" start="2026-08-18T20:14:20.663308" elapsed="0.002210"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.665971" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.665695" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.665680" elapsed="0.000532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.666698" 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-08-18T20:14:20.666353" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.667491" 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-08-18T20:14:20.666891" 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-08-18T20:14:20.667669" elapsed="0.000197"/>
</kw>
<var name="${iteration}">28</var>
<status status="PASS" start="2026-08-18T20:14:20.665651" 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-08-18T20:14:20.668310" elapsed="0.000302"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.668079" elapsed="0.000570"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.668064" elapsed="0.000609"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.669176" 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-08-18T20:14:20.668826" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.669999" 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-08-18T20:14:20.669351" 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-08-18T20:14:20.670179" elapsed="0.000181"/>
</kw>
<var name="${iteration}">29</var>
<status status="PASS" start="2026-08-18T20:14:20.668034" elapsed="0.002363"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.670826" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.670572" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.670558" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.671554" 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-08-18T20:14:20.671209" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.672348" 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-08-18T20:14:20.671732" 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-08-18T20:14:20.672528" elapsed="0.000180"/>
</kw>
<var name="${iteration}">30</var>
<status status="PASS" start="2026-08-18T20:14:20.670529" 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-08-18T20:14:20.673172" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.672940" elapsed="0.000482"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.672925" elapsed="0.000523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.673986" 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-08-18T20:14:20.673589" elapsed="0.000423"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.674775" 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-08-18T20:14:20.674164" 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-08-18T20:14:20.674957" elapsed="0.000181"/>
</kw>
<var name="${iteration}">31</var>
<status status="PASS" start="2026-08-18T20:14:20.672896" 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-08-18T20:14:20.675583" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.675353" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.675338" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.676328" 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-08-18T20:14:20.675982" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.677116" 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-08-18T20:14:20.676503" 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-08-18T20:14:20.677293" elapsed="0.000180"/>
</kw>
<var name="${iteration}">32</var>
<status status="PASS" start="2026-08-18T20:14:20.675308" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.677950" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.677699" elapsed="0.000470"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.677672" elapsed="0.000522"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.678678" 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-08-18T20:14:20.678334" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.679466" 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-08-18T20:14:20.678872" 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-08-18T20:14:20.679643" elapsed="0.000194"/>
</kw>
<var name="${iteration}">33</var>
<status status="PASS" start="2026-08-18T20:14:20.677643" 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-08-18T20:14:20.680283" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.680053" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.680038" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.681023" 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-08-18T20:14:20.680661" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.681831" 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-08-18T20:14:20.681198" 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-08-18T20:14:20.682009" elapsed="0.000179"/>
</kw>
<var name="${iteration}">34</var>
<status status="PASS" start="2026-08-18T20:14:20.680009" 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-08-18T20:14:20.682632" elapsed="0.000195"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.682402" elapsed="0.000462"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.682388" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.683370" 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-08-18T20:14:20.683025" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.684155" 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-08-18T20:14:20.683546" 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-08-18T20:14:20.684333" elapsed="0.000177"/>
</kw>
<var name="${iteration}">35</var>
<status status="PASS" start="2026-08-18T20:14:20.682359" 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-08-18T20:14:20.685125" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.684778" elapsed="0.000570"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.684761" elapsed="0.000612"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.685904" 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-08-18T20:14:20.685513" elapsed="0.000417"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.686679" 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-08-18T20:14:20.686084" 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-08-18T20:14:20.686876" elapsed="0.000181"/>
</kw>
<var name="${iteration}">36</var>
<status status="PASS" start="2026-08-18T20:14:20.684717" 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-08-18T20:14:20.687502" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.687271" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.687256" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.688242" 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-08-18T20:14:20.687897" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.689028" 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-08-18T20:14:20.688418" 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-08-18T20:14:20.689206" elapsed="0.000179"/>
</kw>
<var name="${iteration}">37</var>
<status status="PASS" start="2026-08-18T20:14:20.687227" elapsed="0.002194"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.689855" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.689596" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.689582" elapsed="0.000513"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.690575" 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-08-18T20:14:20.690231" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.691351" 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-08-18T20:14:20.690761" 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-08-18T20:14:20.691527" elapsed="0.000177"/>
</kw>
<var name="${iteration}">38</var>
<status status="PASS" start="2026-08-18T20:14:20.689553" elapsed="0.002188"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.692165" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.691934" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.691920" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.692902" 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-08-18T20:14:20.692542" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.693669" 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-08-18T20:14:20.693076" 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-08-18T20:14:20.693876" elapsed="0.000181"/>
</kw>
<var name="${iteration}">39</var>
<status status="PASS" start="2026-08-18T20:14:20.691891" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.694496" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.694269" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.694254" elapsed="0.000481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.695232" 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-08-18T20:14:20.694888" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.696011" 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-08-18T20:14:20.695405" 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-08-18T20:14:20.696226" elapsed="0.000182"/>
</kw>
<var name="${iteration}">40</var>
<status status="PASS" start="2026-08-18T20:14:20.694225" 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-08-18T20:14:20.696868" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.696623" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.696608" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.697591" 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-08-18T20:14:20.697246" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.698417" 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-08-18T20:14:20.697818" 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-08-18T20:14:20.698595" elapsed="0.000197"/>
</kw>
<var name="${iteration}">41</var>
<status status="PASS" start="2026-08-18T20:14:20.696579" 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-08-18T20:14:20.699234" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.699005" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.698990" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.699969" 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-08-18T20:14:20.699611" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.700755" 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-08-18T20:14:20.700145" 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-08-18T20:14:20.700937" elapsed="0.000179"/>
</kw>
<var name="${iteration}">42</var>
<status status="PASS" start="2026-08-18T20:14:20.698961" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.701696" elapsed="0.000200"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.701438" elapsed="0.000495"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.701313" elapsed="0.000644"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.702445" 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-08-18T20:14:20.702100" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.703229" 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-08-18T20:14:20.702621" 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-08-18T20:14:20.703407" elapsed="0.000180"/>
</kw>
<var name="${iteration}">43</var>
<status status="PASS" start="2026-08-18T20:14:20.701284" 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-08-18T20:14:20.704051" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.703821" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.703806" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.704787" 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-08-18T20:14:20.704427" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.705560" 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-08-18T20:14:20.704966" 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-08-18T20:14:20.705768" elapsed="0.000184"/>
</kw>
<var name="${iteration}">44</var>
<status status="PASS" start="2026-08-18T20:14:20.703775" 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-08-18T20:14:20.706394" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.706165" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.706149" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.707140" 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-08-18T20:14:20.706793" elapsed="0.000406"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.707972" 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-08-18T20:14:20.707355" 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-08-18T20:14:20.708153" elapsed="0.000180"/>
</kw>
<var name="${iteration}">45</var>
<status status="PASS" start="2026-08-18T20:14:20.706121" 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-08-18T20:14:20.708791" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.708545" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.708530" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.709517" 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-08-18T20:14:20.709173" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.710332" 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-08-18T20:14:20.709722" 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-08-18T20:14:20.710512" elapsed="0.000179"/>
</kw>
<var name="${iteration}">46</var>
<status status="PASS" start="2026-08-18T20:14:20.708502" 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-08-18T20:14:20.711151" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.710920" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.710905" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.711891" 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-08-18T20:14:20.711531" elapsed="0.000386"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.712656" 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-08-18T20:14:20.712067" 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-08-18T20:14:20.712854" elapsed="0.000179"/>
</kw>
<var name="${iteration}">47</var>
<status status="PASS" start="2026-08-18T20:14:20.710876" elapsed="0.002193"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.713476" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.713245" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.713230" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.714239" 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-08-18T20:14:20.713893" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.715023" 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-08-18T20:14:20.714415" 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-08-18T20:14:20.715229" elapsed="0.000182"/>
</kw>
<var name="${iteration}">48</var>
<status status="PASS" start="2026-08-18T20:14:20.713200" 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-08-18T20:14:20.715874" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.715624" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.715608" elapsed="0.000507"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.716595" 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-08-18T20:14:20.716252" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.717377" 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-08-18T20:14:20.716784" 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-08-18T20:14:20.717554" elapsed="0.000219"/>
</kw>
<var name="${iteration}">49</var>
<status status="PASS" start="2026-08-18T20:14:20.715579" 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-08-18T20:14:20.718373" elapsed="0.000185"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.718100" elapsed="0.000495"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.717972" elapsed="0.000647"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.719126" 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-08-18T20:14:20.718774" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.719917" 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-08-18T20:14:20.719305" 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-08-18T20:14:20.720098" elapsed="0.000181"/>
</kw>
<var name="${iteration}">50</var>
<status status="PASS" start="2026-08-18T20:14:20.717943" elapsed="0.002373"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.720721" elapsed="0.000198"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.720492" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.720477" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.721464" 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-08-18T20:14:20.721119" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.722279" 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-08-18T20:14:20.721638" 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-08-18T20:14:20.722458" elapsed="0.000179"/>
</kw>
<var name="${iteration}">51</var>
<status status="PASS" start="2026-08-18T20:14:20.720448" 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-08-18T20:14:20.723100" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.722870" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.722855" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.723838" 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-08-18T20:14:20.723477" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.724609" 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-08-18T20:14:20.724016" 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-08-18T20:14:20.724803" elapsed="0.000181"/>
</kw>
<var name="${iteration}">52</var>
<status status="PASS" start="2026-08-18T20:14:20.722825" elapsed="0.002196"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.725429" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.725198" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.725183" elapsed="0.000501"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.726190" 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-08-18T20:14:20.725844" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.726974" 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-08-18T20:14:20.726365" 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-08-18T20:14:20.727154" elapsed="0.000179"/>
</kw>
<var name="${iteration}">53</var>
<status status="PASS" start="2026-08-18T20:14:20.725153" 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-08-18T20:14:20.727791" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.727545" elapsed="0.000464"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.727531" elapsed="0.000502"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.728515" 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-08-18T20:14:20.728170" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.729298" 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-08-18T20:14:20.728688" 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-08-18T20:14:20.729515" elapsed="0.000203"/>
</kw>
<var name="${iteration}">54</var>
<status status="PASS" start="2026-08-18T20:14:20.727501" 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-08-18T20:14:20.730182" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.729950" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.729936" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.730924" 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-08-18T20:14:20.730562" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.731695" 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-08-18T20:14:20.731102" 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-08-18T20:14:20.731892" elapsed="0.000179"/>
</kw>
<var name="${iteration}">55</var>
<status status="PASS" start="2026-08-18T20:14:20.729906" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.732512" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.732283" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.732269" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.733254" 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-08-18T20:14:20.732910" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.734070" 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-08-18T20:14:20.733430" 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-08-18T20:14:20.734250" elapsed="0.000178"/>
</kw>
<var name="${iteration}">56</var>
<status status="PASS" start="2026-08-18T20:14:20.732240" 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-08-18T20:14:20.735008" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.734771" elapsed="0.000457"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.734627" elapsed="0.000625"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.735735" 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-08-18T20:14:20.735391" elapsed="0.000385"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.736531" 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-08-18T20:14:20.735928" 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-08-18T20:14:20.736712" elapsed="0.000202"/>
</kw>
<var name="${iteration}">57</var>
<status status="PASS" start="2026-08-18T20:14:20.734598" 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-08-18T20:14:20.737361" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.737129" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.737114" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.738121" 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-08-18T20:14:20.737771" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.738905" 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-08-18T20:14:20.738296" 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-08-18T20:14:20.739084" elapsed="0.000179"/>
</kw>
<var name="${iteration}">58</var>
<status status="PASS" start="2026-08-18T20:14:20.737085" 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-08-18T20:14:20.739705" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.739477" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.739462" elapsed="0.000500"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.740447" 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-08-18T20:14:20.740102" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.741285" 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-08-18T20:14:20.740660" 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-08-18T20:14:20.741464" elapsed="0.000194"/>
</kw>
<var name="${iteration}">59</var>
<status status="PASS" start="2026-08-18T20:14:20.739433" 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-08-18T20:14:20.742125" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.741894" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.741879" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.742867" 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-08-18T20:14:20.742504" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.743639" 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-08-18T20:14:20.743042" 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-08-18T20:14:20.743833" elapsed="0.000180"/>
</kw>
<var name="${iteration}">60</var>
<status status="PASS" start="2026-08-18T20:14:20.741850" elapsed="0.002200"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.744456" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.744227" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.744212" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.745204" 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-08-18T20:14:20.744857" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.746028" 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-08-18T20:14:20.745378" 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-08-18T20:14:20.746206" elapsed="0.000179"/>
</kw>
<var name="${iteration}">61</var>
<status status="PASS" start="2026-08-18T20:14:20.744184" 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-08-18T20:14:20.746843" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.746596" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.746581" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.747571" 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-08-18T20:14:20.747225" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.748360" 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-08-18T20:14:20.747766" 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-08-18T20:14:20.748537" elapsed="0.000178"/>
</kw>
<var name="${iteration}">62</var>
<status status="PASS" start="2026-08-18T20:14:20.746552" 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-08-18T20:14:20.749182" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.748944" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.748929" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.749963" 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-08-18T20:14:20.749566" elapsed="0.000422"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.750732" 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-08-18T20:14:20.750138" 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-08-18T20:14:20.750926" elapsed="0.000179"/>
</kw>
<var name="${iteration}">63</var>
<status status="PASS" start="2026-08-18T20:14:20.748901" 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-08-18T20:14:20.751667" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.751431" elapsed="0.000504"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.751304" elapsed="0.000657"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.752449" 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-08-18T20:14:20.752101" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.753237" 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-08-18T20:14:20.752624" 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-08-18T20:14:20.753417" elapsed="0.000180"/>
</kw>
<var name="${iteration}">64</var>
<status status="PASS" start="2026-08-18T20:14:20.751274" 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-08-18T20:14:20.754076" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.753845" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.753830" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.754822" 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-08-18T20:14:20.754454" elapsed="0.000394"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.755592" 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-08-18T20:14:20.754997" 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-08-18T20:14:20.755786" elapsed="0.000182"/>
</kw>
<var name="${iteration}">65</var>
<status status="PASS" start="2026-08-18T20:14:20.753800" elapsed="0.002205"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.756409" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.756180" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.756166" elapsed="0.000482"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.757154" 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-08-18T20:14:20.756806" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.757971" 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-08-18T20:14:20.757335" 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-08-18T20:14:20.758150" elapsed="0.000180"/>
</kw>
<var name="${iteration}">66</var>
<status status="PASS" start="2026-08-18T20:14:20.756137" 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-08-18T20:14:20.758790" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.758543" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.758529" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.759522" 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-08-18T20:14:20.759174" elapsed="0.000373"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.760305" 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-08-18T20:14:20.759697" 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-08-18T20:14:20.760483" elapsed="0.000178"/>
</kw>
<var name="${iteration}">67</var>
<status status="PASS" start="2026-08-18T20:14:20.758499" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.761126" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.760896" elapsed="0.000447"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.760880" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.761911" 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-08-18T20:14:20.761503" elapsed="0.000435"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.762679" 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-08-18T20:14:20.762087" 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-08-18T20:14:20.762873" elapsed="0.000179"/>
</kw>
<var name="${iteration}">68</var>
<status status="PASS" start="2026-08-18T20:14:20.760851" 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-08-18T20:14:20.763529" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.763299" elapsed="0.000467"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.763284" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.764277" 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-08-18T20:14:20.763931" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.765064" 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-08-18T20:14:20.764453" 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-08-18T20:14:20.765243" elapsed="0.000179"/>
</kw>
<var name="${iteration}">69</var>
<status status="PASS" start="2026-08-18T20:14:20.763255" elapsed="0.002203"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.765911" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.765658" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.765642" elapsed="0.000511"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.766635" 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-08-18T20:14:20.766291" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.767426" 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-08-18T20:14:20.766826" 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-08-18T20:14:20.767605" elapsed="0.000200"/>
</kw>
<var name="${iteration}">70</var>
<status status="PASS" start="2026-08-18T20:14:20.765590" 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-08-18T20:14:20.768368" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.768130" elapsed="0.000458"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.768005" elapsed="0.000607"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.769117" 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-08-18T20:14:20.768766" elapsed="0.000378"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.769941" 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-08-18T20:14:20.769297" 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-08-18T20:14:20.770121" elapsed="0.000182"/>
</kw>
<var name="${iteration}">71</var>
<status status="PASS" start="2026-08-18T20:14:20.767976" elapsed="0.002364"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.770763" elapsed="0.000183"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.770517" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.770502" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.771491" 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-08-18T20:14:20.771146" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.772280" 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-08-18T20:14:20.771667" 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-08-18T20:14:20.772460" elapsed="0.000178"/>
</kw>
<var name="${iteration}">72</var>
<status status="PASS" start="2026-08-18T20:14:20.770473" elapsed="0.002201"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.773102" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.772869" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.772854" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.773859" 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-08-18T20:14:20.773483" elapsed="0.000403"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.774628" 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-08-18T20:14:20.774037" 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-08-18T20:14:20.774857" elapsed="0.000182"/>
</kw>
<var name="${iteration}">73</var>
<status status="PASS" start="2026-08-18T20:14:20.772825" 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-08-18T20:14:20.775482" elapsed="0.000178"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.775251" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.775237" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.776222" 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-08-18T20:14:20.775876" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.777072" 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-08-18T20:14:20.776419" 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-08-18T20:14:20.777256" elapsed="0.000182"/>
</kw>
<var name="${iteration}">74</var>
<status status="PASS" start="2026-08-18T20:14:20.775208" 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-08-18T20:14:20.777927" elapsed="0.000193"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.777674" elapsed="0.000486"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.777659" elapsed="0.000526"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.778677" 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-08-18T20:14:20.778326" elapsed="0.000377"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.779473" 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-08-18T20:14:20.778872" 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-08-18T20:14:20.779651" elapsed="0.000197"/>
</kw>
<var name="${iteration}">75</var>
<status status="PASS" start="2026-08-18T20:14:20.777627" 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-08-18T20:14:20.780302" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.780068" elapsed="0.000454"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.780050" elapsed="0.000496"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.781059" 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-08-18T20:14:20.780687" elapsed="0.000399"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.781898" 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-08-18T20:14:20.781238" 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-08-18T20:14:20.782080" elapsed="0.000180"/>
</kw>
<var name="${iteration}">76</var>
<status status="PASS" start="2026-08-18T20:14:20.780021" 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-08-18T20:14:20.782702" elapsed="0.000197"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.782472" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.782456" elapsed="0.000505"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.783443" 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-08-18T20:14:20.783099" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.784230" 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-08-18T20:14:20.783619" 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-08-18T20:14:20.784409" elapsed="0.000177"/>
</kw>
<var name="${iteration}">77</var>
<status status="PASS" start="2026-08-18T20:14:20.782427" elapsed="0.002196"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.785169" elapsed="0.000182"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.784929" elapsed="0.000459"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.784802" elapsed="0.000611"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.785928" 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-08-18T20:14:20.785552" elapsed="0.000440"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.786761" 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-08-18T20:14:20.786149" 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-08-18T20:14:20.786944" elapsed="0.000180"/>
</kw>
<var name="${iteration}">78</var>
<status status="PASS" start="2026-08-18T20:14:20.784771" 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-08-18T20:14:20.787568" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.787338" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.787324" elapsed="0.000504"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.788311" 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-08-18T20:14:20.787967" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.789098" 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-08-18T20:14:20.788488" 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-08-18T20:14:20.789279" elapsed="0.000178"/>
</kw>
<var name="${iteration}">79</var>
<status status="PASS" start="2026-08-18T20:14:20.787294" elapsed="0.002199"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.789938" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.789690" elapsed="0.000466"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.789675" elapsed="0.000506"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.790664" 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-08-18T20:14:20.790319" elapsed="0.000371"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.791451" 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-08-18T20:14:20.790857" 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-08-18T20:14:20.791629" elapsed="0.000197"/>
</kw>
<var name="${iteration}">80</var>
<status status="PASS" start="2026-08-18T20:14:20.789645" 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-08-18T20:14:20.792270" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.792040" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.792025" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.793016" 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-08-18T20:14:20.792652" elapsed="0.000390"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.793827" 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-08-18T20:14:20.793191" 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-08-18T20:14:20.794014" elapsed="0.000199"/>
</kw>
<var name="${iteration}">81</var>
<status status="PASS" start="2026-08-18T20:14:20.791996" 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-08-18T20:14:20.794660" elapsed="0.000201"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.794426" elapsed="0.000473"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.794412" elapsed="0.000512"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.795414" 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-08-18T20:14:20.795064" elapsed="0.000376"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.796213" 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-08-18T20:14:20.795591" 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-08-18T20:14:20.796393" elapsed="0.000181"/>
</kw>
<var name="${iteration}">82</var>
<status status="PASS" start="2026-08-18T20:14:20.794383" elapsed="0.002227"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.797080" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.796804" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.796788" elapsed="0.000539"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.797878" 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-08-18T20:14:20.797468" elapsed="0.000437"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.798658" 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-08-18T20:14:20.798057" 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-08-18T20:14:20.798854" elapsed="0.000182"/>
</kw>
<var name="${iteration}">83</var>
<status status="PASS" start="2026-08-18T20:14:20.796757" 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-08-18T20:14:20.799480" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.799249" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.799235" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.800219" 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-08-18T20:14:20.799875" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.801005" 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-08-18T20:14:20.800394" 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-08-18T20:14:20.801182" elapsed="0.000179"/>
</kw>
<var name="${iteration}">84</var>
<status status="PASS" start="2026-08-18T20:14:20.799206" elapsed="0.002191"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.801954" elapsed="0.000188"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.801695" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.801558" elapsed="0.000647"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.802691" 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-08-18T20:14:20.802345" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.803486" 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-08-18T20:14:20.802890" 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-08-18T20:14:20.803665" elapsed="0.000198"/>
</kw>
<var name="${iteration}">85</var>
<status status="PASS" start="2026-08-18T20:14:20.801529" 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-08-18T20:14:20.804306" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.804076" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.804061" elapsed="0.000486"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.805054" 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-08-18T20:14:20.804685" elapsed="0.000395"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.805867" 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-08-18T20:14:20.805231" 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-08-18T20:14:20.806046" elapsed="0.000180"/>
</kw>
<var name="${iteration}">86</var>
<status status="PASS" start="2026-08-18T20:14:20.804032" 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-08-18T20:14:20.806669" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.806439" elapsed="0.000469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.806424" elapsed="0.000508"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.807415" 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-08-18T20:14:20.807072" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.808205" 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-08-18T20:14:20.807590" 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-08-18T20:14:20.808420" elapsed="0.000183"/>
</kw>
<var name="${iteration}">87</var>
<status status="PASS" start="2026-08-18T20:14:20.806396" 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-08-18T20:14:20.809062" elapsed="0.000181"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.808832" elapsed="0.000448"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.808817" elapsed="0.000487"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.809816" 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-08-18T20:14:20.809442" elapsed="0.000401"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.810588" 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-08-18T20:14:20.809996" 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-08-18T20:14:20.810788" elapsed="0.000180"/>
</kw>
<var name="${iteration}">88</var>
<status status="PASS" start="2026-08-18T20:14:20.808786" 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-08-18T20:14:20.811409" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.811179" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.811165" elapsed="0.000484"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.812146" 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-08-18T20:14:20.811802" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.812927" 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-08-18T20:14:20.812321" 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-08-18T20:14:20.813105" elapsed="0.000177"/>
</kw>
<var name="${iteration}">89</var>
<status status="PASS" start="2026-08-18T20:14:20.811135" elapsed="0.002183"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.813785" elapsed="0.000184"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.813492" elapsed="0.000515"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.813477" elapsed="0.000554"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.814516" 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-08-18T20:14:20.814172" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.815307" 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-08-18T20:14:20.814693" 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-08-18T20:14:20.815486" elapsed="0.000181"/>
</kw>
<var name="${iteration}">90</var>
<status status="PASS" start="2026-08-18T20:14:20.813449" 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-08-18T20:14:20.816130" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.815898" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.815883" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.816873" 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-08-18T20:14:20.816510" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.817669" 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-08-18T20:14:20.817051" 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-08-18T20:14:20.817865" elapsed="0.000183"/>
</kw>
<var name="${iteration}">91</var>
<status status="PASS" start="2026-08-18T20:14:20.815853" 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-08-18T20:14:20.818961" elapsed="0.000180"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.818707" elapsed="0.000471"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.818245" elapsed="0.000957"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.819684" 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-08-18T20:14:20.819341" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.820511" 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-08-18T20:14:20.819914" 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-08-18T20:14:20.820690" elapsed="0.000195"/>
</kw>
<var name="${iteration}">92</var>
<status status="PASS" start="2026-08-18T20:14:20.818216" elapsed="0.002707"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.821328" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.821098" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.821083" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.822079" 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-08-18T20:14:20.821718" elapsed="0.000388"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.822861" 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-08-18T20:14:20.822255" 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-08-18T20:14:20.823040" elapsed="0.000179"/>
</kw>
<var name="${iteration}">93</var>
<status status="PASS" start="2026-08-18T20:14:20.821054" elapsed="0.002202"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.823659" elapsed="0.000194"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.823429" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.823415" elapsed="0.000499"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.824394" 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-08-18T20:14:20.824051" elapsed="0.000369"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.825177" 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-08-18T20:14:20.824568" 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-08-18T20:14:20.825354" elapsed="0.000177"/>
</kw>
<var name="${iteration}">94</var>
<status status="PASS" start="2026-08-18T20:14:20.823386" elapsed="0.002181"/>
</iter>
<iter>
<if>
<branch type="IF" condition="${iteration} &gt; ${iter_start}">
<kw name="Append To List" owner="Collections">
<arg>${items}</arg>
<arg>${separator}</arg>
<doc>Adds ``values`` to the end of ``list``.</doc>
<status status="PASS" start="2026-08-18T20:14:20.826008" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.825775" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.825758" elapsed="0.000490"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.826728" 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-08-18T20:14:20.826385" elapsed="0.000383"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.827517" 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-08-18T20:14:20.826919" 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-08-18T20:14:20.827694" elapsed="0.000197"/>
</kw>
<var name="${iteration}">95</var>
<status status="PASS" start="2026-08-18T20:14:20.825715" 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-08-18T20:14:20.828336" elapsed="0.000177"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.828106" elapsed="0.000444"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.828091" elapsed="0.000483"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.829074" 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-08-18T20:14:20.828711" elapsed="0.000389"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.829896" 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-08-18T20:14:20.829250" 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-08-18T20:14:20.830078" elapsed="0.000180"/>
</kw>
<var name="${iteration}">96</var>
<status status="PASS" start="2026-08-18T20:14:20.828062" 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-08-18T20:14:20.830703" elapsed="0.000196"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.830473" elapsed="0.000498"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.830458" elapsed="0.000540"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.831488" 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-08-18T20:14:20.831140" elapsed="0.000374"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.832279" 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-08-18T20:14:20.831665" 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-08-18T20:14:20.832459" elapsed="0.000179"/>
</kw>
<var name="${iteration}">97</var>
<status status="PASS" start="2026-08-18T20:14:20.830429" 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-08-18T20:14:20.833100" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.832868" elapsed="0.000449"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.832853" elapsed="0.000488"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.833856" 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-08-18T20:14:20.833478" elapsed="0.000404"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.834629" 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-08-18T20:14:20.834034" 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-08-18T20:14:20.834825" elapsed="0.000181"/>
</kw>
<var name="${iteration}">98</var>
<status status="PASS" start="2026-08-18T20:14:20.832823" 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-08-18T20:14:20.835567" elapsed="0.000202"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.835330" elapsed="0.000480"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.835206" elapsed="0.000628"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.836322" 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-08-18T20:14:20.835976" elapsed="0.000372"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.837112" 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-08-18T20:14:20.836500" 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-08-18T20:14:20.837291" elapsed="0.000180"/>
</kw>
<var name="${iteration}">99</var>
<status status="PASS" start="2026-08-18T20:14:20.835177" 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-08-18T20:14:20.837950" elapsed="0.000179"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.837701" elapsed="0.000465"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.837687" elapsed="0.000503"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.838670" 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-08-18T20:14:20.838326" elapsed="0.000370"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.839459" 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-08-18T20:14:20.838862" 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-08-18T20:14:20.839637" elapsed="0.000195"/>
</kw>
<var name="${iteration}">100</var>
<status status="PASS" start="2026-08-18T20:14:20.837657" elapsed="0.002212"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="PASS" start="2026-08-18T20:14:20.600250" elapsed="0.239651"/>
</for>
<kw name="Catenate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.841154" 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-08-18T20:14:20.840050" elapsed="0.001133"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.841241" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:20.841395" 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-08-18T20:14:20.547339" elapsed="0.294082"/>
</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-08-18T20:14:20.842721" 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-08-18T20:14:20.842490" elapsed="0.000312">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-08-18T20:14:20.842893" 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-08-18T20:14:20.842158" elapsed="0.000759"/>
</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-08-18T20:14:20.843226" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.842986" elapsed="0.000297"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.843783" 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-08-18T20:14:20.843482" elapsed="0.000328"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.843306" elapsed="0.000540"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.842968" elapsed="0.000899"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.846166" 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-08-18T20:14:20.844017" elapsed="0.002176"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:14:20.846244" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:20.846397" 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-08-18T20:14:20.841832" elapsed="0.004589"/>
</kw>
<kw name="Post_To_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.847927" 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-08-18T20:14:20.847665" elapsed="0.000307"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.848352" 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-08-18T20:14:20.848119" elapsed="0.000922"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.849434" 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-08-18T20:14:20.849190" elapsed="0.000287"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.849889" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:20.849635" elapsed="0.000297"/>
</kw>
<kw name="Join_Two_Headers" owner="TemplatedRequests">
<kw name="Copy Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:20.850705" 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-08-18T20:14:20.850522" elapsed="0.000209"/>
</kw>
<kw name="Get Dictionary Items" owner="Collections">
<msg time="2026-08-18T20:14:20.851062" 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-08-18T20:14:20.850894" elapsed="0.000194"/>
</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-08-18T20:14:20.851232" elapsed="0.000184"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.851823" 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-08-18T20:14:20.851563" elapsed="0.000304"/>
</kw>
<return>
<value>${accumulator}</value>
<status status="PASS" start="2026-08-18T20:14:20.851908" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:20.852060" 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-08-18T20:14:20.850127" elapsed="0.001957"/>
</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-08-18T20:14:20.916325" level="INFO">POST Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.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-08-18T20:14:20.916663" level="INFO">POST Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes/node=openflow%3A3/flow-node-inventory:table=0 
 status=201, reason=Created 
 headers={'Location': 'http://10.30.171.138: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-08-18T20:14:20.916921" 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-08-18T20:14:20.854314" elapsed="0.062667"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.852304" elapsed="0.064779"/>
</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-08-18T20:14:20.917472" elapsed="0.000148"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.917141" elapsed="0.000590"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.852135" elapsed="0.065674"/>
</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-08-18T20:14:20.924120" level="INFO"/>
<arg>${response.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:20.920070" elapsed="0.004110"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.919560" elapsed="0.004667"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.919521" elapsed="0.004740"/>
</if>
<if>
<branch type="IF" condition="&quot;${log_response}&quot; == &quot;True&quot;">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.927675" level="INFO">201</msg>
<arg>${response.status_code}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:20.924637" elapsed="0.003102"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.924338" elapsed="0.003469"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.924315" elapsed="0.003525"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.928587" 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-08-18T20:14:20.928078" elapsed="0.000546"/>
</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-08-18T20:14:20.929078" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.928718" elapsed="0.000439"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.929872" 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-08-18T20:14:20.929425" elapsed="0.000485"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.929190" elapsed="0.000769"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.928694" elapsed="0.001294"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.930716" 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-08-18T20:14:20.930221" elapsed="0.000556"/>
</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-08-18T20:14:20.931212" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.930875" elapsed="0.000415"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.931986" 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-08-18T20:14:20.931558" elapsed="0.000464"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:20.931323" elapsed="0.000747"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.930851" elapsed="0.001249"/>
</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-08-18T20:14:20.932302" elapsed="0.000497"/>
</kw>
<kw name="Combine Lists" owner="Collections">
<msg time="2026-08-18T20:14:20.933397" 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-08-18T20:14:20.933023" elapsed="0.000410"/>
</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-08-18T20:14:20.933670" elapsed="0.002455"/>
</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-08-18T20:14:20.918579" elapsed="0.017609"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:20.936364" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:20.936259" elapsed="0.000149"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.936241" elapsed="0.000189"/>
</if>
<kw name="Normalize Json Text" owner="norm_json">
<msg time="2026-08-18T20:14:20.938812" 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-08-18T20:14:20.936572" elapsed="0.002267"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="PASS" start="2026-08-18T20:14:20.938887" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:20.939042" 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-08-18T20:14:20.846735" elapsed="0.092331"/>
</kw>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.939172" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:20.939323" 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-08-18T20:14:20.465936" elapsed="0.473412"/>
</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-08-18T20:14:20.939678" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.939450" elapsed="0.000311"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.939433" elapsed="0.000354"/>
</if>
<return>
<value>${response_text}</value>
<status status="PASS" start="2026-08-18T20:14:20.939820" 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-08-18T20:14:20.463304" elapsed="0.476638"/>
</kw>
<var name="${switch}">3</var>
<status status="PASS" start="2026-08-18T20:14:20.452112" elapsed="0.487873"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-08-18T20:14:19.537327" elapsed="1.402690"/>
</for>
<doc>Add 100 flows to group type 2 in every switch.</doc>
<status status="PASS" start="2026-08-18T20:14:19.536946" elapsed="1.403192"/>
</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-08-18T20:14:20.941738" 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-08-18T20:14:20.941511" elapsed="0.000330"/>
</kw>
<kw name="Start Mininet Single Controller" owner="MininetKeywords">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.944903" 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-08-18T20:14:20.944667" elapsed="0.000281"/>
</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-08-18T20:14:20.947364" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:20.947090" elapsed="0.000330"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:20.947071" elapsed="0.000373"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:20.947771" 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-08-18T20:14:20.947877" 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-08-18T20:14:20.947587" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.948420" level="INFO">Attempting to execute command "sudo mn -c" on remote system "10.30.171.230" 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-08-18T20:14:20.948049" elapsed="0.000418"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:20.949000" 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-08-18T20:14:20.948621" elapsed="0.000405"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:20.949914" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:20.949989" 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-08-18T20:14:20.949634" elapsed="0.000379"/>
</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-08-18T20:14:20.950165" elapsed="0.000315"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:20.951323" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:21.595596" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:21 UTC 2026

  System load:  0.01               Processes:             110
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:12:04 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:20.951013" elapsed="0.644723"/>
</kw>
<msg time="2026-08-18T20:14:21.595822" 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-08-18T20:14:20.950644" elapsed="0.645241"/>
</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-08-18T20:14:20.949238" elapsed="0.646736"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:21.596530" level="INFO">Executing command 'sudo mn -c'.</msg>
<msg time="2026-08-18T20:14:22.746469" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:14:22.746870" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:14:22.746976" 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-08-18T20:14:21.596156" elapsed="1.150878"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:22.747511" elapsed="0.000634"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:22.749327" 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-08-18T20:14:22.748633" elapsed="0.000817"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:22.750041" elapsed="0.000048"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:22.749629" elapsed="0.000553"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:22.749576" elapsed="0.000671"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:22.750682" elapsed="0.000128"/>
</return>
<status status="PASS" start="2026-08-18T20:14:22.750394" elapsed="0.000523"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:22.750353" elapsed="0.000637"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:22.751089" 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-08-18T20:14:22.757125" elapsed="0.000336"/>
</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-08-18T20:14:22.757624" elapsed="0.000179"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:22.757950" elapsed="0.000096"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:22.752045" elapsed="0.006053"/>
</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-08-18T20:14:20.946555" elapsed="1.811634"/>
</kw>
<msg time="2026-08-18T20:14:22.758244" 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-08-18T20:14:20.946017" elapsed="1.812284"/>
</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-08-18T20:14:20.945519" elapsed="1.812863"/>
</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-08-18T20:14:22.760468" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:22.760175" elapsed="0.000351"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:22.760156" elapsed="0.000398"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:22.760897" 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-08-18T20:14:22.761006" 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-08-18T20:14:22.760700" elapsed="0.000332"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:22.761558" 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.230" 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-08-18T20:14:22.761179" elapsed="0.000496"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:22.762221" 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-08-18T20:14:22.761851" elapsed="0.000396"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:22.763150" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:22.763226" 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-08-18T20:14:22.762871" elapsed="0.000378"/>
</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-08-18T20:14:22.763401" elapsed="0.000316"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:22.764572" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:23.098552" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:21 UTC 2026

  System load:  0.01               Processes:             110
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:21 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:22.764251" elapsed="0.334475"/>
</kw>
<msg time="2026-08-18T20:14:23.098837" 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-08-18T20:14:22.763898" elapsed="0.335042"/>
</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-08-18T20:14:22.762462" elapsed="0.336609"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:23.099649" 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-08-18T20:14:23.152363" level="INFO">Command exited with return code -1.</msg>
<msg time="2026-08-18T20:14:23.152623" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:14:23.152727" 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-08-18T20:14:23.099351" elapsed="0.053471"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:23.153202" elapsed="0.000514"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:23.154976" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:23.154255" elapsed="0.000827"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:23.155605" elapsed="0.000038"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:23.155280" elapsed="0.000446"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:23.155220" elapsed="0.000595"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:23.156192" elapsed="0.000125"/>
</return>
<status status="PASS" start="2026-08-18T20:14:23.155939" elapsed="0.000461"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:23.155904" elapsed="0.000550"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:23.156540" 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">
<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-08-18T20:14:23.160631" elapsed="0.000503"/>
</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-08-18T20:14:23.161364" elapsed="0.000230"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:23.161818" elapsed="0.000137"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:23.157186" elapsed="0.004842"/>
</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-08-18T20:14:22.759637" elapsed="0.402526"/>
</kw>
<msg time="2026-08-18T20:14:23.162245" 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-08-18T20:14:22.759076" elapsed="0.403246"/>
</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-08-18T20:14:22.758558" elapsed="0.403885"/>
</kw>
<arg>${mininet}</arg>
<status status="PASS" start="2026-08-18T20:14:20.945145" elapsed="2.217474"/>
</kw>
<kw name="Open_Connection_To_Tools_System" owner="SSHKeywords">
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:23.169348" 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-08-18T20:14:23.168955" elapsed="0.000419"/>
</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-08-18T20:14:23.171127" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:23.171203" 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-08-18T20:14:23.170837" 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-08-18T20:14:23.171380" elapsed="0.000318"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:23.172605" level="INFO">Logging into '10.30.171.230:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:23.489538" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:21 UTC 2026

  System load:  0.01               Processes:             110
  Usage of /:   19.7% of 38.58GB   Users logged in:       0
  Memory usage: 4%                 IPv4 address for ens3: 10.30.171.230
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:23 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:23.172283" elapsed="0.317377"/>
</kw>
<msg time="2026-08-18T20:14:23.489740" 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-08-18T20:14:23.171890" elapsed="0.317942"/>
</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-08-18T20:14:23.170339" elapsed="0.319599"/>
</kw>
<msg time="2026-08-18T20:14:23.489988" 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-08-18T20:14:23.169947" elapsed="0.320087"/>
</kw>
<doc>Call Flexible SSH Login, but with default values suitable for Mininet machine.</doc>
<status status="PASS" start="2026-08-18T20:14:23.169554" elapsed="0.320553"/>
</kw>
<return>
<value>${tools_connection}</value>
<status status="PASS" start="2026-08-18T20:14:23.490157" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:23.490357" 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-08-18T20:14:23.168194" elapsed="0.322189"/>
</kw>
<kw name="Set Suite Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:23.491127" 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-08-18T20:14:23.490672" elapsed="0.000497"/>
</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-08-18T20:14:23.493407" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:23.491251" elapsed="0.002212"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:23.491227" elapsed="0.002261"/>
</if>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:23.493973" level="INFO">Start mininet --topo linear,3 to 10.30.171.138</msg>
<arg>Start mininet ${options} to ${controller}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:23.493657" elapsed="0.000360"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:14:23.496280" level="INFO">sudo mn --controller 'remote,ip=10.30.171.138,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-08-18T20:14:23.494180" elapsed="0.002156"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:14:23.708526" 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-08-18T20:14:23.496492" elapsed="0.212194"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:23.709496" 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-08-18T20:14:23.709095" elapsed="0.000449"/>
</kw>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:14:23.710834" 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-08-18T20:14:23.709721" elapsed="0.001166"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:14:23.724194" level="INFO">93878b8c-0f60-4819-ae57-8725af10b1ec
    Manager "ptcp:6644"
    Bridge s2
        Controller "tcp:10.30.171.138:6633"
        Controller "ptcp:6655"
        fail_mode: secure
        Port s2-eth2
            Interface s2-eth2
        Port s2-eth1
            Interface s2-eth1
        Port s2
            Interface s2
                type: internal
        Port s2-eth3
            Interface s2-eth3
    Bridge s1
        Controller "tcp:10.30.171.138:6633"
        Controller "ptcp:6654"
        fail_mode: secure
        Port s1-eth1
            Interface s1-eth1
        Port s1-eth2
            Interface s1-eth2
        Port s1
            Interface s1
                type: internal
    Bridge s3
        Controller "ptcp:6656"
        Controller "tcp:10.30.171.138:6633"
        fail_mode: secure
        Port s3-eth1
            Interface s3-eth1
        Port s3
            Interface s3
                type: internal
        Port s3-eth2
            Interface s3-eth2
    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-08-18T20:14:23.711042" elapsed="0.013314"/>
</kw>
<return>
<value>${mininet_conn_id}</value>
<status status="PASS" start="2026-08-18T20:14:23.724415" elapsed="0.000056"/>
</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-08-18T20:14:20.942136" elapsed="2.782490"/>
</kw>
<arg>${SWITCHES}</arg>
<doc>Start mininet linear topology with 3 nodes.</doc>
<status status="PASS" start="2026-08-18T20:14:20.940969" elapsed="2.783732"/>
</kw>
<doc>Start Mininet Linear with 3 switches.</doc>
<status status="PASS" start="2026-08-18T20:14:20.940463" elapsed="2.784392"/>
</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-08-18T20:14:23.732233" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:23.732416" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:23.732536" 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-08-18T20:14:23.726912" elapsed="0.005652"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:23.735257" 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-08-18T20:14:23.732804" elapsed="0.002501"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:23.740412" 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-08-18T20:14:23.737946" elapsed="0.002554">'{"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-08-18T20:14:23.740701" 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-08-18T20:14:23.740996" 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-08-18T20:14:23.741260" 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-08-18T20:14:23.741521" elapsed="0.000027"/>
</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-08-18T20:14:23.741817" 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-08-18T20:14:23.742200" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:23.741957" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:23.741928" 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-08-18T20:14:23.742655" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:23.742411" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:23.742380" 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-08-18T20:14:23.743100" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:23.742869" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:23.742846" elapsed="0.000360"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:23.737727" elapsed="0.005553">'{"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-08-18T20:14:23.735369" elapsed="0.007997">'{"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-08-18T20:14:23.726529" elapsed="0.016998">'{"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-08-18T20:14:24.754426" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:24.754642" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:24.754889" 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-08-18T20:14:24.746837" elapsed="0.008093"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:24.759150" 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-08-18T20:14:24.755443" elapsed="0.003777"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:24.765860" 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-08-18T20:14:24.762764" elapsed="0.003194">'{"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-08-18T20:14:24.766196" 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-08-18T20:14:24.766399" 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-08-18T20:14:24.766588" 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-08-18T20:14:24.766793" 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-08-18T20:14:24.766991" 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-08-18T20:14:24.767258" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:24.767087" elapsed="0.000225"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:24.767067" elapsed="0.000272"/>
</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-08-18T20:14:24.767572" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:24.767394" elapsed="0.000234"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:24.767379" 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-08-18T20:14:24.767882" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:24.767702" elapsed="0.000235"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:24.767687" elapsed="0.000272"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:24.762508" elapsed="0.005503">'{"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-08-18T20:14:24.759304" elapsed="0.008766">'{"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-08-18T20:14:24.745580" elapsed="0.022594">'{"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-08-18T20:14:25.777416" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:25.777715" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:25.777945" 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-08-18T20:14:25.770409" elapsed="0.007573"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:25.781538" 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-08-18T20:14:25.778302" elapsed="0.003303"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:25.788326" 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-08-18T20:14:25.785102" elapsed="0.003300">'{"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-08-18T20:14:25.788599" 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-08-18T20:14:25.788812" 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-08-18T20:14:25.789006" 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-08-18T20:14:25.789195" 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-08-18T20:14:25.789385" elapsed="0.000094"/>
</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-08-18T20:14:25.789732" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:25.789559" elapsed="0.000242"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:25.789539" elapsed="0.000288"/>
</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-08-18T20:14:25.790045" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:25.789881" elapsed="0.000219"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:25.789866" elapsed="0.000256"/>
</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-08-18T20:14:25.790339" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:25.790174" elapsed="0.000218"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:25.790159" elapsed="0.000256"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:25.784864" elapsed="0.005597">'{"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-08-18T20:14:25.781685" elapsed="0.008837">'{"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-08-18T20:14:25.769469" elapsed="0.021157">'{"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-08-18T20:14:26.799815" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:26.800043" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:26.800202" 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-08-18T20:14:26.792485" elapsed="0.007755"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:26.803677" 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-08-18T20:14:26.800528" elapsed="0.003233"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:26.810556" 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-08-18T20:14:26.807265" elapsed="0.003388">'{"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-08-18T20:14:26.810948" 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-08-18T20:14:26.811283" 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-08-18T20:14:26.811479" 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-08-18T20:14:26.811668" 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-08-18T20:14:26.811875" 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-08-18T20:14:26.812135" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:26.811966" elapsed="0.000223"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:26.811948" elapsed="0.000265"/>
</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-08-18T20:14:26.812428" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:26.812265" elapsed="0.000217"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:26.812250" elapsed="0.000254"/>
</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-08-18T20:14:26.812718" elapsed="0.000019"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:26.812555" elapsed="0.000231"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:26.812540" elapsed="0.000269"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:26.807025" elapsed="0.005829">'{"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-08-18T20:14:26.803839" elapsed="0.009071">'{"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-08-18T20:14:26.791651" elapsed="0.021410">'{"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-08-18T20:14:27.822364" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:27.822726" level="INFO">GET Response : url=http://10.30.171.138: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: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-08-18T20:14:27.822995" 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-08-18T20:14:27.815331" elapsed="0.007705"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:27.826789" 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: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-08-18T20:14:27.823358" elapsed="0.003526"/>
</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-08-18T20:14:27.830460" elapsed="0.003438"/>
</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-08-18T20:14:27.834230" elapsed="0.003414"/>
</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-08-18T20:14:27.837931" elapsed="0.002688"/>
</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-08-18T20:14:27.840822" elapsed="0.002475"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:27.846026" 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: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"}}]}]}}' 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-08-18T20:14:27.843545" elapsed="0.002581">'{"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: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"}}]}]}}' 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-08-18T20:14:27.846339" 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-08-18T20:14:27.846616" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:27.846444" elapsed="0.000232"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:27.846424" elapsed="0.000278"/>
</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-08-18T20:14:27.846937" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:27.846771" elapsed="0.000222"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:27.846739" elapsed="0.000277"/>
</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-08-18T20:14:27.847237" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:27.847067" elapsed="0.000224"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:27.847052" elapsed="0.000262"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:27.830222" elapsed="0.017143">'{"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: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"}}]}]}}' 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-08-18T20:14:27.826963" elapsed="0.020511">'{"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: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"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:14:27.814414" elapsed="0.033188">'{"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: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"}}]}]}}' 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-08-18T20:14:28.857539" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:28.858022" level="INFO">GET Response : url=http://10.30.171.138: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: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-08-18T20:14:28.858281" 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-08-18T20:14:28.849883" elapsed="0.008436"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:28.861983" 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: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-08-18T20:14:28.858629" elapsed="0.003446"/>
</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-08-18T20:14:28.865562" elapsed="0.002561"/>
</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-08-18T20:14:28.868310" elapsed="0.002334"/>
</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-08-18T20:14:28.870846" elapsed="0.002321"/>
</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-08-18T20:14:28.873352" elapsed="0.002331"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:28.878300" 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: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"}}]}]}}' 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-08-18T20:14:28.875883" elapsed="0.002515">'{"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: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"}}]}]}}' 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-08-18T20:14:28.878642" 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-08-18T20:14:28.878930" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:28.878741" elapsed="0.000244"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:28.878722" 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-08-18T20:14:28.879225" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:28.879062" elapsed="0.000216"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:28.879046" elapsed="0.000255"/>
</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-08-18T20:14:28.879515" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:28.879351" elapsed="0.000218"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:28.879336" elapsed="0.000255"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:28.865292" elapsed="0.014348">'{"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: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"}}]}]}}' 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-08-18T20:14:28.862152" elapsed="0.017573">'{"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: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"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:14:28.848926" elapsed="0.030951">'{"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: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"}}]}]}}' 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-08-18T20:14:29.888949" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:29.889273" level="INFO">GET Response : url=http://10.30.171.138: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: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-08-18T20:14:29.889459" 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-08-18T20:14:29.882053" elapsed="0.007444"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:29.893717" 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: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-08-18T20:14:29.889855" elapsed="0.003985"/>
</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-08-18T20:14:29.897695" elapsed="0.002481"/>
</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-08-18T20:14:29.900365" elapsed="0.002403"/>
</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-08-18T20:14:29.902956" elapsed="0.002342"/>
</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-08-18T20:14:29.905489" elapsed="0.002346"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:29.910406" 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: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"}}]}]}}' 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-08-18T20:14:29.908021" elapsed="0.002560">'{"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: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"}}]}]}}' 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-08-18T20:14:29.910812" 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-08-18T20:14:29.911098" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:29.910920" elapsed="0.000233"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:29.910895" elapsed="0.000283"/>
</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-08-18T20:14:29.911394" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:29.911232" elapsed="0.000216"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:29.911217" elapsed="0.000254"/>
</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-08-18T20:14:29.911683" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:29.911521" elapsed="0.000216"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:29.911506" elapsed="0.000268"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:29.897334" elapsed="0.014491">'{"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: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"}}]}]}}' 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-08-18T20:14:29.893925" elapsed="0.017982">'{"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: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"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:14:29.881159" elapsed="0.030907">'{"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: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"}}]}]}}' 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-08-18T20:14:30.929257" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:30.929856" level="INFO">GET Response : url=http://10.30.171.138: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: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-08-18T20:14:30.930142" 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-08-18T20:14:30.914327" elapsed="0.015875"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:30.935954" 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: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-08-18T20:14:30.930677" elapsed="0.005510"/>
</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-08-18T20:14:30.939127" elapsed="0.002387"/>
</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-08-18T20:14:30.941704" elapsed="0.002357"/>
</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-08-18T20:14:30.944251" elapsed="0.002486"/>
</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-08-18T20:14:30.946945" elapsed="0.002364"/>
</kw>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:30.951958" 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: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"}}]}]}}' 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-08-18T20:14:30.949502" elapsed="0.002553">'{"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: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"}}]}]}}' 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-08-18T20:14:30.952267" 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-08-18T20:14:30.952551" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:30.952364" elapsed="0.000245"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:30.952344" elapsed="0.000288"/>
</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-08-18T20:14:30.952863" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:30.952684" elapsed="0.000234"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:30.952669" elapsed="0.000298"/>
</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-08-18T20:14:30.953186" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:30.953023" elapsed="0.000218"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:30.953007" elapsed="0.000256"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:30.938955" elapsed="0.014357">'{"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: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"}}]}]}}' 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-08-18T20:14:30.936312" elapsed="0.017078">'{"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: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"}}]}]}}' does not contain '"dest-tp":"openflow:1:2"'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:14:30.913412" elapsed="0.040102">'{"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: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"}}]}]}}' 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-08-18T20:14:31.968583" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:31.969048" level="INFO">GET Response : url=http://10.30.171.138: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: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: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-08-18T20:14:31.969324" 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-08-18T20:14:31.955713" elapsed="0.013669"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:31.975126" 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: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: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-08-18T20:14:31.969890" elapsed="0.005389"/>
</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-08-18T20:14:31.978842" elapsed="0.002361"/>
</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-08-18T20:14:31.981390" elapsed="0.002314"/>
</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-08-18T20:14:31.983910" elapsed="0.002376"/>
</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-08-18T20:14:31.986530" elapsed="0.002370"/>
</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-08-18T20:14:31.989088" elapsed="0.002330"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:31.992093" 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-08-18T20:14:31.991611" elapsed="0.000509"/>
</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-08-18T20:14:31.992442" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:31.992202" elapsed="0.000297"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:31.992181" elapsed="0.000344"/>
</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-08-18T20:14:31.992823" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:31.992579" elapsed="0.000301"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:31.992564" 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-08-18T20:14:31.993184" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:31.992954" elapsed="0.000285"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:31.992939" elapsed="0.000323"/>
</if>
<var name="${switch}">1</var>
<status status="PASS" start="2026-08-18T20:14:31.978656" elapsed="0.014628"/>
</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-08-18T20:14:31.993645" elapsed="0.004318"/>
</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-08-18T20:14:31.998155" elapsed="0.002417"/>
</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-08-18T20:14:32.000776" elapsed="0.002384"/>
</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-08-18T20:14:32.003348" elapsed="0.002360"/>
</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-08-18T20:14:32.005930" elapsed="0.002365"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.008931" 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-08-18T20:14:32.008480" elapsed="0.000477"/>
</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-08-18T20:14:32.009266" elapsed="0.002336"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:32.009033" elapsed="0.002608"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.009012" elapsed="0.002654"/>
</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-08-18T20:14:32.012003" elapsed="0.002497"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:32.011721" elapsed="0.002820"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.011704" elapsed="0.002861"/>
</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-08-18T20:14:32.014873" elapsed="0.002358"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:32.014620" elapsed="0.002651"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.014604" elapsed="0.002691"/>
</if>
<var name="${switch}">2</var>
<status status="PASS" start="2026-08-18T20:14:31.993491" elapsed="0.023827"/>
</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-08-18T20:14:32.017686" elapsed="0.002377"/>
</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-08-18T20:14:32.020248" elapsed="0.002343"/>
</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-08-18T20:14:32.022796" elapsed="0.002355"/>
</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-08-18T20:14:32.025336" elapsed="0.002339"/>
</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-08-18T20:14:32.027876" elapsed="0.002353"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.030865" 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-08-18T20:14:32.030416" elapsed="0.000476"/>
</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-08-18T20:14:32.031199" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:32.030961" elapsed="0.000295"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.030943" elapsed="0.000337"/>
</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-08-18T20:14:32.031560" elapsed="0.000068"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:32.031332" elapsed="0.000334"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.031316" 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-08-18T20:14:32.032003" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:32.031756" elapsed="0.000304"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.031727" elapsed="0.000356"/>
</if>
<var name="${switch}">3</var>
<status status="PASS" start="2026-08-18T20:14:32.017524" elapsed="0.014581"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-08-18T20:14:31.975402" elapsed="0.056731"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="PASS" start="2026-08-18T20:14:31.954824" elapsed="0.077373"/>
</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-08-18T20:14:23.725676" elapsed="8.306568"/>
</kw>
<doc>Check Linear Topology.</doc>
<status status="PASS" start="2026-08-18T20:14:23.725197" elapsed="8.307174"/>
</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-08-18T20:14:32.074535" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:32.076383" level="INFO">GET Response : url=http://10.30.171.138: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":46652,"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":"13","active-flows":101,"packets-matched":"2"},"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":3,"nanosecond":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"flags":""},{"id":"#UF$TABLE*0-69","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":"2","byte-count":"140","duration":{"second":3,"nanosecond":37000000}},"flags":"SEND_FLOW_REM"},{"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":{"... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:14:32.076994" 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-08-18T20:14:32.034064" elapsed="0.042995"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.082331" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":46652,"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":"13","active-flows":101,"packets-matched":"2"},"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":3,"nanosecond":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"flags":""},{"id":"#UF$TABLE*0-69","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":"2","byte-count":"140","duration":{"second":3,"nanosecond":37000000}},"flags":"SEND_FLOW_REM"},{"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":3,"nanosecond":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":3,"nanosecond":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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-08-18T20:14:30.755Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"be:f6:dd:f7:a6:43","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":140000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"be:40:20:79:4c:f6","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":"8","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":148000000},"bytes":{"transmitted":"671","received":"671"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"96:43:bf:7e:99:ac","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":"8","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":148000000},"bytes":{"transmitted":"671","received":"586"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":4,"nanosecond":58000000},"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":3,"nanosecond":562000000},"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":6,"nanosecond":904000000},"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":3,"nanosecond":562000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":3,"nanosecond":561000000},"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":3,"nanosecond":561000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":3,"nanosecond":561000000},"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":6,"nanosecond":562000000},"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":3,"nanosecond":560000000},"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":6,"nanosecond":561000000},"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":6,"nanosecond":561000000},"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":6,"nanosecond":561000000},"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":3,"nanosecond":560000000},"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":6,"nanosecond":561000000},"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":3,"nanosecond":560000000},"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":6,"nanosecond":560000000},"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":3,"nanosecond":560000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":560000000},"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":6,"nanosecond":560000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":66000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":65000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":558000000},"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":3,"nanosecond":558000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":558000000},"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":3,"nanosecond":558000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":557000000},"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":3,"nanosecond":557000000},"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":3,"nanosecond":556000000},"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":3,"nanosecond":556000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":556000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":555000000},"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":3,"nanosecond":554000000},"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":3,"nanosecond":554000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":554000000},"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":3,"nanosecond":554000000},"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":3,"nanosecond":554000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":554000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":554000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":56000000},"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":6,"nanosecond":56000000},"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":3,"nanosecond":554000000},"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":3,"nanosecond":554000000},"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":3,"nanosecond":553000000},"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":6,"nanosecond":56000000},"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":6,"nanosecond":56000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":3,"nanosecond":553000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":3,"nanosecond":553000000},"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":3,"nanosecond":553000000},"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":6,"nanosecond":55000000},"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":3,"nanosecond":553000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":3,"nanosecond":552000000},"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":3,"nanosecond":552000000},"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":3,"nanosecond":552000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":3,"nanosecond":552000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":3,"nanosecond":552000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":3,"nanosecond":552000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":3,"nanosecond":552000000},"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":5,"nanosecond":562000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":561000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":3,"nanosecond":550000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:30.835Z"}},{"id":"openflow:1","flow-node-inventory:port-number":46648,"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":"13","active-flows":101,"packets-matched":"2"},"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":3,"nanosecond":66000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"flags":""},{"id":"#UF$TABLE*0-68","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":"2","byte-count":"140","duration":{"second":3,"nanosecond":35000000}},"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":3,"nanosecond":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":66000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":66000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":66000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":66000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":49000000}},"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":50000000}},"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":49000000}},"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":50000000}},"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":49000000}},"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":50000000}},"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":3,"nanosecond":66000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":3,"nanosecond":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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-08-18T20:14:30.755Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"6e:d2:b7:84:d4:9e","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":"8","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":156000000},"bytes":{"transmitted":"671","received":"586"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"16:d6:46:59:d7:43","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":151000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"1e:e3:ca:40:f1:19","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":"8","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":157000000},"bytes":{"transmitted":"671","received":"671"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":4,"nanosecond":55000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":900000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":3,"nanosecond":557000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":562000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":562000000},"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":6,"nanosecond":562000000},"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":6,"nanosecond":561000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":561000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":561000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":558000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":52000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":52000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":559000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":559000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":558000000},"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":5,"nanosecond":558000000},"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":5,"nanosecond":558000000},"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":5,"nanosecond":558000000},"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":5,"nanosecond":57000000},"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":5,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":56000000},"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":5,"nanosecond":56000000},"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":5,"nanosecond":56000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":54000000},"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":5,"nanosecond":54000000},"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":5,"nanosecond":54000000},"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":5,"nanosecond":54000000},"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":5,"nanosecond":54000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":53000000},"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":5,"nanosecond":53000000},"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":5,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":53000000},"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":5,"nanosecond":53000000},"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":5,"nanosecond":52000000},"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":5,"nanosecond":52000000},"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":5,"nanosecond":52000000},"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":5,"nanosecond":52000000},"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":5,"nanosecond":52000000},"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":5,"nanosecond":51000000},"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":5,"nanosecond":51000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":557000000},"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":4,"nanosecond":557000000},"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":4,"nanosecond":557000000},"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":4,"nanosecond":557000000},"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":4,"nanosecond":557000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":3,"nanosecond":551000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:30.835Z"}},{"id":"openflow:2","flow-node-inventory:port-number":46658,"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":"20","active-flows":101,"packets-matched":"5"},"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":3,"nanosecond":59000000}},"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":49000000}},"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":59000000}},"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":49000000}},"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":59000000}},"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":49000000}},"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":49000000}},"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":59000000}},"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":49000000}},"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":49000000}},"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":59000000}},"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":49000000}},"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":59000000}},"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":49000000}},"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":48000000}},"flags":""},{"id":"#UF$TABLE*0-67","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":"5","byte-count":"380","duration":{"second":3,"nanosecond":37000000}},"flags":"SEND_FLOW_REM"},{"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":49000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":59000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":59000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":59000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":48000000}},"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":49000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":3,"nanosecond":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":48000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":3,"nanosecond":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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-08-18T20:14:30.749Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"1a:0a:c1:d8:3d:0a","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":"8","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":140000000},"bytes":{"transmitted":"671","received":"671"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"a2:df:89:0f:46:46","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":132000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"b2:84:71:f0:5e:7a","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":"8","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":140000000},"bytes":{"transmitted":"671","received":"671"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ce:95:e5:62:20:30","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":"8","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":140000000},"bytes":{"transmitted":"671","received":"586"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":4,"nanosecond":59000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":903000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":902000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":564000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":564000000},"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":6,"nanosecond":564000000},"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":6,"nanosecond":564000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":563000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":563000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":563000000},"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":6,"nanosecond":563000000},"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":6,"nanosecond":562000000},"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":6,"nanosecond":562000000},"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":6,"nanosecond":562000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":565000000},"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":5,"nanosecond":565000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":565000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":563000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":563000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":559000000},"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":4,"nanosecond":559000000},"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":4,"nanosecond":559000000},"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":4,"nanosecond":559000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:30.836Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:32.077533" elapsed="0.011131"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.092667" level="INFO">Item found from container 303 times.</msg>
<msg time="2026-08-18T20:14:32.092804" 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-08-18T20:14:32.088971" elapsed="0.003868"/>
</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-08-18T20:14:32.093110" elapsed="0.000433"/>
</kw>
<arg>${all_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="PASS" start="2026-08-18T20:14:32.033716" elapsed="0.059917"/>
</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-08-18T20:14:32.033180" elapsed="0.060518"/>
</kw>
<doc>Check Groups after mininet starts.</doc>
<status status="PASS" start="2026-08-18T20:14:32.032695" elapsed="0.061186"/>
</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-08-18T20:14:32.128694" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:32.129966" level="INFO">GET Response : url=http://10.30.171.138: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":46652,"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":"13","active-flows":101,"packets-matched":"2"},"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":3,"nanosecond":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"flags":""},{"id":"#UF$TABLE*0-69","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":"2","byte-count":"140","duration":{"second":3,"nanosecond":37000000}},"flags":"SEND_FLOW_REM"},{"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":{"... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:14:32.130434" 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-08-18T20:14:32.095449" elapsed="0.035045"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.135550" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":46652,"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":"13","active-flows":101,"packets-matched":"2"},"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":3,"nanosecond":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"flags":""},{"id":"#UF$TABLE*0-69","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":"2","byte-count":"140","duration":{"second":3,"nanosecond":37000000}},"flags":"SEND_FLOW_REM"},{"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":3,"nanosecond":58000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":58000000}},"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":48000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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":3,"nanosecond":58000000}},"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":58000000}},"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":58000000}},"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":58000000}},"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-08-18T20:14:30.755Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"be:f6:dd:f7:a6:43","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":140000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"be:40:20:79:4c:f6","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":"8","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":148000000},"bytes":{"transmitted":"671","received":"671"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"96:43:bf:7e:99:ac","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":"8","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":148000000},"bytes":{"transmitted":"671","received":"586"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":4,"nanosecond":58000000},"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":3,"nanosecond":562000000},"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":6,"nanosecond":904000000},"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":3,"nanosecond":562000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":3,"nanosecond":561000000},"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":3,"nanosecond":561000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":904000000},"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":3,"nanosecond":561000000},"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":6,"nanosecond":562000000},"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":3,"nanosecond":560000000},"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":6,"nanosecond":561000000},"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":6,"nanosecond":561000000},"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":6,"nanosecond":561000000},"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":3,"nanosecond":560000000},"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":6,"nanosecond":561000000},"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":3,"nanosecond":560000000},"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":6,"nanosecond":560000000},"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":3,"nanosecond":560000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":560000000},"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":6,"nanosecond":560000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":66000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":65000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":558000000},"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":3,"nanosecond":558000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":558000000},"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":3,"nanosecond":558000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":557000000},"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":3,"nanosecond":557000000},"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":3,"nanosecond":556000000},"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":3,"nanosecond":556000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":556000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":555000000},"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":3,"nanosecond":554000000},"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":3,"nanosecond":554000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":554000000},"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":3,"nanosecond":554000000},"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":3,"nanosecond":554000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":554000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":554000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":56000000},"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":6,"nanosecond":56000000},"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":3,"nanosecond":554000000},"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":3,"nanosecond":554000000},"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":3,"nanosecond":553000000},"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":6,"nanosecond":56000000},"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":6,"nanosecond":56000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":3,"nanosecond":553000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":3,"nanosecond":553000000},"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":3,"nanosecond":553000000},"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":6,"nanosecond":55000000},"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":3,"nanosecond":553000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":3,"nanosecond":552000000},"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":3,"nanosecond":552000000},"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":3,"nanosecond":552000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":6,"nanosecond":55000000},"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":3,"nanosecond":552000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":3,"nanosecond":552000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":3,"nanosecond":552000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":5,"nanosecond":562000000},"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":3,"nanosecond":552000000},"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":5,"nanosecond":562000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":561000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":562000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":3,"nanosecond":550000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"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":4,"nanosecond":58000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:30.835Z"}},{"id":"openflow:1","flow-node-inventory:port-number":46648,"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":"13","active-flows":101,"packets-matched":"2"},"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":3,"nanosecond":66000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"flags":""},{"id":"#UF$TABLE*0-68","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":"2","byte-count":"140","duration":{"second":3,"nanosecond":35000000}},"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":3,"nanosecond":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":66000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":66000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":66000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":66000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":66000000}},"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":50000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":49000000}},"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":50000000}},"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":49000000}},"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":50000000}},"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":49000000}},"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":50000000}},"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":3,"nanosecond":66000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":50000000}},"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":49000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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":3,"nanosecond":50000000}},"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":50000000}},"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":50000000}},"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":50000000}},"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-08-18T20:14:30.755Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"6e:d2:b7:84:d4:9e","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":"8","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":156000000},"bytes":{"transmitted":"671","received":"586"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"16:d6:46:59:d7:43","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":151000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"1e:e3:ca:40:f1:19","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":"8","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":157000000},"bytes":{"transmitted":"671","received":"671"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":4,"nanosecond":55000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":900000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":3,"nanosecond":557000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":6,"nanosecond":900000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":562000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":562000000},"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":6,"nanosecond":562000000},"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":6,"nanosecond":561000000},"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":3,"nanosecond":557000000},"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":6,"nanosecond":561000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":561000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":559000000},"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":6,"nanosecond":558000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":53000000},"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":6,"nanosecond":52000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":52000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":6,"nanosecond":52000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":561000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":561000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":559000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":559000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":559000000},"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":5,"nanosecond":558000000},"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":5,"nanosecond":558000000},"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":5,"nanosecond":558000000},"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":5,"nanosecond":558000000},"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":5,"nanosecond":57000000},"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":5,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":56000000},"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":5,"nanosecond":56000000},"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":5,"nanosecond":56000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":55000000},"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":5,"nanosecond":54000000},"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":5,"nanosecond":54000000},"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":5,"nanosecond":54000000},"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":5,"nanosecond":54000000},"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":5,"nanosecond":54000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":53000000},"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":5,"nanosecond":53000000},"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":5,"nanosecond":53000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":53000000},"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":5,"nanosecond":53000000},"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":5,"nanosecond":52000000},"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":5,"nanosecond":52000000},"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":5,"nanosecond":52000000},"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":5,"nanosecond":52000000},"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":5,"nanosecond":52000000},"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":5,"nanosecond":51000000},"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":5,"nanosecond":51000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":558000000},"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":4,"nanosecond":557000000},"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":4,"nanosecond":557000000},"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":4,"nanosecond":557000000},"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":4,"nanosecond":557000000},"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":4,"nanosecond":557000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":56000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":3,"nanosecond":551000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"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":4,"nanosecond":55000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:30.835Z"}},{"id":"openflow:2","flow-node-inventory:port-number":46658,"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":"20","active-flows":101,"packets-matched":"5"},"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":3,"nanosecond":59000000}},"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":49000000}},"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":59000000}},"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":49000000}},"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":59000000}},"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":49000000}},"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":49000000}},"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":59000000}},"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":49000000}},"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":49000000}},"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":59000000}},"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":49000000}},"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":59000000}},"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":49000000}},"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":48000000}},"flags":""},{"id":"#UF$TABLE*0-67","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":"5","byte-count":"380","duration":{"second":3,"nanosecond":37000000}},"flags":"SEND_FLOW_REM"},{"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":49000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":59000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":59000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":59000000}},"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":49000000}},"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":59000000}},"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":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":48000000}},"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":49000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":3,"nanosecond":59000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":49000000}},"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":48000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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":3,"nanosecond":49000000}},"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":49000000}},"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":49000000}},"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":49000000}},"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-08-18T20:14:30.749Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"1a:0a:c1:d8:3d:0a","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":"8","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":140000000},"bytes":{"transmitted":"671","received":"671"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"a2:df:89:0f:46:46","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":132000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"b2:84:71:f0:5e:7a","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":"8","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":140000000},"bytes":{"transmitted":"671","received":"671"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ce:95:e5:62:20:30","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":"8","received":"7"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":7,"nanosecond":140000000},"bytes":{"transmitted":"671","received":"586"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":6,"nanosecond":904000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":4,"nanosecond":59000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":903000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":903000000},"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":6,"nanosecond":902000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":564000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":564000000},"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":6,"nanosecond":564000000},"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":6,"nanosecond":564000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":563000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":563000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":563000000},"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":6,"nanosecond":563000000},"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":6,"nanosecond":562000000},"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":6,"nanosecond":562000000},"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":6,"nanosecond":562000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":559000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":3,"nanosecond":551000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":6,"nanosecond":57000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":565000000},"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":5,"nanosecond":565000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":565000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":563000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":563000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":563000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":5,"nanosecond":60000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":561000000},"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":4,"nanosecond":559000000},"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":4,"nanosecond":559000000},"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":4,"nanosecond":559000000},"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":4,"nanosecond":559000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":3,"nanosecond":551000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":60000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"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":4,"nanosecond":59000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:30.836Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:32.130973" elapsed="0.010492"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.145356" level="INFO">Item found from container 600 times.</msg>
<msg time="2026-08-18T20:14:32.145441" 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-08-18T20:14:32.141730" elapsed="0.003736"/>
</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-08-18T20:14:32.145660" elapsed="0.000336"/>
</kw>
<arg>${all_groups}</arg>
<doc>Check number of groups in the inventory.</doc>
<status status="PASS" start="2026-08-18T20:14:32.094994" elapsed="0.051066"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-08-18T20:14:32.094258" elapsed="0.051905"/>
</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-08-18T20:14:32.147550" elapsed="0.000143"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:32.147324" elapsed="0.000406"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.147301" elapsed="0.000471"/>
</if>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.148251" 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-08-18T20:14:32.147985" elapsed="0.000292"/>
</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-08-18T20:14:32.149124" elapsed="0.000134"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:32.148911" elapsed="0.000382"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.148893" elapsed="0.000424"/>
</if>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:14:32.151632" 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-08-18T20:14:32.149452" elapsed="0.002234"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:14:32.224343" 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=7 byte_count=550 flow_count=101
*** s3 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=3 byte_count=225 flow_count=101
mininet&gt;</msg>
<msg time="2026-08-18T20:14:32.224444" 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-08-18T20:14:32.151853" elapsed="0.072617"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-08-18T20:14:32.224523" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:14:32.224690" 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-08-18T20:14:32.148598" elapsed="0.076119"/>
</kw>
<kw name="Get Regexp Matches" owner="String">
<msg time="2026-08-18T20:14:32.225266" 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-08-18T20:14:32.224901" elapsed="0.000391"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.225847" 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-08-18T20:14:32.225449" elapsed="0.000425"/>
</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-08-18T20:14:32.226068" elapsed="0.000321"/>
</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-08-18T20:14:32.147002" elapsed="0.079446"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-08-18T20:14:32.146429" elapsed="0.080119"/>
</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-08-18T20:14:32.227845" level="INFO">${rule} = OUTPUT -p all --source 10.30.171.138 --destination 10.30.171.230 -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-08-18T20:14:32.227507" elapsed="0.000376"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.228417" level="INFO">${command} = sudo /sbin/iptables -I OUTPUT -p all --source 10.30.171.138 --destination 10.30.171.230 -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-08-18T20:14:32.228049" elapsed="0.000394"/>
</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-08-18T20:14:32.230541" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:32.230264" elapsed="0.000334"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.230246" elapsed="0.000376"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:32.230899" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:32.231047" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:14:32.230782" elapsed="0.000293"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.231597" level="INFO">Attempting to execute command "sudo /sbin/iptables -I OUTPUT -p all --source 10.30.171.138 --destination 10.30.171.230 -j DROP" on remote system "10.30.171.138" 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-08-18T20:14:32.231224" elapsed="0.000418"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:32.232195" 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-08-18T20:14:32.231811" elapsed="0.000410"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.233283" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:32.233358" 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-08-18T20:14:32.233019" elapsed="0.000363"/>
</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-08-18T20:14:32.233538" elapsed="0.000331"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:32.234696" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:32.849001" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:32 UTC 2026

  System load:  0.16               Processes:             124
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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-645-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-08-18T20:14:32.234385" elapsed="0.614706"/>
</kw>
<msg time="2026-08-18T20:14:32.849156" 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-08-18T20:14:32.234034" elapsed="0.615186"/>
</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-08-18T20:14:32.232433" elapsed="0.616877"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:32.849691" level="INFO">Executing command 'sudo /sbin/iptables -I OUTPUT -p all --source 10.30.171.138 --destination 10.30.171.230 -j DROP'.</msg>
<msg time="2026-08-18T20:14:32.872173" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:14:32.872410" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:14:32.872506" 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-08-18T20:14:32.849497" elapsed="0.023058"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:32.872957" elapsed="0.000454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.874436" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:32.873855" elapsed="0.000672"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:32.874990" elapsed="0.000035"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:32.874686" elapsed="0.000411"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.874642" elapsed="0.000505"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:32.875490" elapsed="0.000081"/>
</return>
<status status="PASS" start="2026-08-18T20:14:32.875261" elapsed="0.000388"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.875227" elapsed="0.000475"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:32.875806" 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-08-18T20:14:32.882819" elapsed="0.000316"/>
</kw>
<msg time="2026-08-18T20:14:32.883230" 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-08-18T20:14:32.881607" elapsed="0.001762"/>
</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-08-18T20:14:32.883787" elapsed="0.000053"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:32.884149" elapsed="0.000049"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:32.876479" elapsed="0.007858"/>
</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-08-18T20:14:32.229726" elapsed="0.654718"/>
</kw>
<msg time="2026-08-18T20:14:32.884545" 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-08-18T20:14:32.229180" elapsed="0.655413"/>
</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-08-18T20:14:32.228643" elapsed="0.656029"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.885096" 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-08-18T20:14:32.884835" elapsed="0.000286"/>
</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-08-18T20:14:32.887211" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:32.886935" elapsed="0.000332"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:32.886916" elapsed="0.000375"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:32.887555" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:32.887663" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:14:32.887433" elapsed="0.000257"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.888429" level="INFO">Attempting to execute command "sudo /sbin/iptables -L -n" on remote system "10.30.171.138" 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-08-18T20:14:32.887851" elapsed="0.000625"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:32.889023" 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-08-18T20:14:32.888631" elapsed="0.000422"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:32.889941" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:32.890017" 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-08-18T20:14:32.889653" elapsed="0.000388"/>
</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-08-18T20:14:32.890195" elapsed="0.000314"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:32.891360" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:33.248639" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:32 UTC 2026

  System load:  0.16               Processes:             124
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:32 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:32.891050" elapsed="0.357672"/>
</kw>
<msg time="2026-08-18T20:14:33.248801" 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-08-18T20:14:32.890674" elapsed="0.358187"/>
</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-08-18T20:14:32.889267" elapsed="0.359679"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:33.249304" level="INFO">Executing command 'sudo /sbin/iptables -L -n'.</msg>
<msg time="2026-08-18T20:14:33.271581" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:14:33.271856" 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-08-18T20:14:33.271956" 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-08-18T20:14:33.249122" elapsed="0.022884"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:33.272361" elapsed="0.000472"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:33.273833" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:33.273238" elapsed="0.000690"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:33.274341" elapsed="0.000033"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:33.274083" elapsed="0.000360"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:33.274039" elapsed="0.000452"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:33.275080" elapsed="0.000058"/>
</return>
<status status="PASS" start="2026-08-18T20:14:33.274835" elapsed="0.000378"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:33.274792" elapsed="0.000473"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:33.275338" elapsed="0.000053"/>
</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-08-18T20:14:33.281706" elapsed="0.000217"/>
</kw>
<msg time="2026-08-18T20:14:33.281981" 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-08-18T20:14:33.281004" elapsed="0.001060"/>
</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-08-18T20:14:33.282279" elapsed="0.000030"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:33.282498" elapsed="0.000027"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:33.276056" elapsed="0.006551"/>
</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-08-18T20:14:32.886403" elapsed="0.396328"/>
</kw>
<msg time="2026-08-18T20:14:33.282836" 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-08-18T20:14:32.885859" elapsed="0.397042"/>
</kw>
<msg time="2026-08-18T20:14:33.283054" 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-08-18T20:14:32.885316" elapsed="0.397773"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:33.283667" 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.171.138        10.30.171.230       

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-08-18T20:14:33.283295" elapsed="0.000468"/>
</kw>
<doc>Break and restore controller to mininet connection via iptables.</doc>
<status status="PASS" start="2026-08-18T20:14:32.227214" elapsed="1.056628"/>
</kw>
<doc>Disconnect Mininet.</doc>
<status status="PASS" start="2026-08-18T20:14:32.226801" elapsed="1.057187"/>
</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-08-18T20:14:33.295953" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:33.296172" level="INFO">GET Response : url=http://10.30.171.138: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: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: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-08-18T20:14:33.296352" 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-08-18T20:14:33.288466" elapsed="0.007912"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:33.299007" 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: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: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-08-18T20:14:33.296627" elapsed="0.002452"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:33.303935" 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: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: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"}}]}]}}' 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-08-18T20:14:33.301476" elapsed="0.002561">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:33.301305" elapsed="0.002851">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-08-18T20:14:33.299139" elapsed="0.005102">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:14:33.288117" elapsed="0.016251">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:34.314033" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:34.314443" level="INFO">GET Response : url=http://10.30.171.138: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: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: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-08-18T20:14:34.314721" 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-08-18T20:14:34.306260" elapsed="0.008554"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:34.318996" 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: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: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-08-18T20:14:34.315328" elapsed="0.003764"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:34.325879" 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: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: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"}}]}]}}' 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-08-18T20:14:34.322414" elapsed="0.003657">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:34.322174" elapsed="0.004027">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-08-18T20:14:34.319173" elapsed="0.007142">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:14:34.305359" elapsed="0.021159">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:35.335953" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:35.336247" level="INFO">GET Response : url=http://10.30.171.138: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: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: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-08-18T20:14:35.336427" 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-08-18T20:14:35.328433" elapsed="0.008036"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:35.340209" 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: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: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-08-18T20:14:35.336813" elapsed="0.003560"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:35.347213" 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: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: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"}}]}]}}' 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-08-18T20:14:35.343714" elapsed="0.003641">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:35.343475" elapsed="0.004007">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-08-18T20:14:35.340452" elapsed="0.007185">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:14:35.327511" elapsed="0.020336">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:36.354634" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:36.354952" level="INFO">GET Response : url=http://10.30.171.138: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: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: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-08-18T20:14:36.355202" 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-08-18T20:14:36.349053" elapsed="0.006186"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:36.358950" 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: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: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-08-18T20:14:36.355560" elapsed="0.003486"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:36.365811" 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: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: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"}}]}]}}' 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-08-18T20:14:36.362395" elapsed="0.003563">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:36.362156" elapsed="0.003976">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-08-18T20:14:36.359125" elapsed="0.007122">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:14:36.348525" elapsed="0.017898">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:37.376402" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:37.376853" level="INFO">GET Response : url=http://10.30.171.138: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: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: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-08-18T20:14:37.377128" 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-08-18T20:14:37.368355" elapsed="0.008833"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:37.381647" 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: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: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-08-18T20:14:37.377817" elapsed="0.003946"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:37.388488" 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: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: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"}}]}]}}' 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-08-18T20:14:37.385076" elapsed="0.003628">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:37.384835" elapsed="0.004023">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-08-18T20:14:37.381844" elapsed="0.007129">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:14:37.367461" elapsed="0.021726">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:38.398731" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:38.399207" level="INFO">GET Response : url=http://10.30.171.138: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: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: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-08-18T20:14:38.399484" 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-08-18T20:14:38.391143" elapsed="0.008400"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:38.403870" 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: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: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-08-18T20:14:38.400047" elapsed="0.003988"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:38.411249" 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: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: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"}}]}]}}' 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-08-18T20:14:38.407379" elapsed="0.004049">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:38.407138" elapsed="0.004452">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-08-18T20:14:38.404114" elapsed="0.007690">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:14:38.390252" elapsed="0.021791">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:39.422184" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:39.422663" level="INFO">GET Response : url=http://10.30.171.138: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: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: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-08-18T20:14:39.423132" 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-08-18T20:14:39.414315" elapsed="0.008883"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:39.429355" 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: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: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-08-18T20:14:39.423808" elapsed="0.005644"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:39.436248" 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: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: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"}}]}]}}' 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-08-18T20:14:39.432826" elapsed="0.003560">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:39.432562" elapsed="0.004002">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-08-18T20:14:39.429536" elapsed="0.007147">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:14:39.413384" elapsed="0.023514">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:40.447814" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:40.448268" level="INFO">GET Response : url=http://10.30.171.138: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: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: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-08-18T20:14:40.448551" 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-08-18T20:14:40.439037" elapsed="0.009573"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:40.454157" 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: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: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-08-18T20:14:40.449135" elapsed="0.005118"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:40.461064" 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: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: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"}}]}]}}' 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-08-18T20:14:40.457608" elapsed="0.003667">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:40.457363" elapsed="0.004042">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-08-18T20:14:40.454335" elapsed="0.007184">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:14:40.438036" elapsed="0.023689">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:41.475409" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:41.475740" level="INFO">GET Response : url=http://10.30.171.138: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: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: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-08-18T20:14:41.475950" 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-08-18T20:14:41.463676" elapsed="0.012312"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:41.481636" 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: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: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-08-18T20:14:41.476336" elapsed="0.005573"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Not Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:41.490356" 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: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: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"}}]}]}}' 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-08-18T20:14:41.487259" elapsed="0.003198">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:41.486880" elapsed="0.003668">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="FAIL" start="2026-08-18T20:14:41.482035" elapsed="0.008621">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:14:41.462719" elapsed="0.028085">'{"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: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: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"}}]}]}}' contains 'openflow:1'</status>
</kw>
<kw name="Check No Switches In Topology" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:42.499877" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:42.500100" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:42.500256" 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-08-18T20:14:42.493013" elapsed="0.007280"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:42.504035" 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-08-18T20:14:42.500625" elapsed="0.003478"/>
</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-08-18T20:14:42.507713" elapsed="0.003618"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-08-18T20:14:42.507445" elapsed="0.004022"/>
</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-08-18T20:14:42.511871" elapsed="0.003732"/>
</kw>
<var name="${switch}">2</var>
<status status="PASS" start="2026-08-18T20:14:42.511604" elapsed="0.004058"/>
</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-08-18T20:14:42.516065" elapsed="0.003420"/>
</kw>
<var name="${switch}">3</var>
<status status="PASS" start="2026-08-18T20:14:42.515805" elapsed="0.003751"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-08-18T20:14:42.504188" elapsed="0.015414"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="PASS" start="2026-08-18T20:14:42.491896" elapsed="0.027784"/>
</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-08-18T20:14:33.287250" elapsed="9.232484"/>
</kw>
<doc>Check no switches in topology.</doc>
<status status="PASS" start="2026-08-18T20:14:33.284517" elapsed="9.235371"/>
</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-08-18T20:14:42.521543" level="INFO">${rule} = OUTPUT -p all --source 10.30.171.138 --destination 10.30.171.230 -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-08-18T20:14:42.521203" elapsed="0.000368"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:42.522408" level="INFO">${command} = sudo /sbin/iptables -D OUTPUT -p all --source 10.30.171.138 --destination 10.30.171.230 -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-08-18T20:14:42.521757" elapsed="0.000683"/>
</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-08-18T20:14:42.524630" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:42.524342" elapsed="0.000344"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:42.524320" elapsed="0.000391"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:42.525014" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:42.525132" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:14:42.524873" elapsed="0.000286"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:42.525697" level="INFO">Attempting to execute command "sudo /sbin/iptables -D OUTPUT -p all --source 10.30.171.138 --destination 10.30.171.230 -j DROP" on remote system "10.30.171.138" 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-08-18T20:14:42.525311" elapsed="0.000452"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:42.526318" 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-08-18T20:14:42.525924" elapsed="0.000420"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:42.527272" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:42.527350" 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-08-18T20:14:42.526989" 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-08-18T20:14:42.527533" elapsed="0.000338"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:42.528712" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:42.868490" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:32 UTC 2026

  System load:  0.16               Processes:             124
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:33 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:42.528394" elapsed="0.340229"/>
</kw>
<msg time="2026-08-18T20:14:42.868702" 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-08-18T20:14:42.528038" elapsed="0.340762"/>
</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-08-18T20:14:42.526564" elapsed="0.342352"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:42.869492" level="INFO">Executing command 'sudo /sbin/iptables -D OUTPUT -p all --source 10.30.171.138 --destination 10.30.171.230 -j DROP'.</msg>
<msg time="2026-08-18T20:14:42.912832" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:14:42.913130" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:14:42.913229" 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-08-18T20:14:42.869236" elapsed="0.044044"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:42.913702" elapsed="0.000550"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:42.915503" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:42.914704" elapsed="0.000914"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:42.916217" elapsed="0.000045"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:42.915871" elapsed="0.000476"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:42.915809" elapsed="0.000596"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:42.916872" elapsed="0.000070"/>
</return>
<status status="PASS" start="2026-08-18T20:14:42.916533" elapsed="0.000493"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:42.916498" elapsed="0.000591"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:42.917167" 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-08-18T20:14:42.924964" elapsed="0.000354"/>
</kw>
<msg time="2026-08-18T20:14:42.925437" 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-08-18T20:14:42.923511" elapsed="0.002102"/>
</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-08-18T20:14:42.926019" elapsed="0.000051"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:42.926490" 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-08-18T20:14:42.917957" elapsed="0.008718"/>
</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-08-18T20:14:42.523810" elapsed="0.403154"/>
</kw>
<msg time="2026-08-18T20:14:42.927081" 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-08-18T20:14:42.523215" elapsed="0.403975"/>
</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-08-18T20:14:42.522649" elapsed="0.404721"/>
</kw>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:42.928016" 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-08-18T20:14:42.927617" elapsed="0.000436"/>
</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-08-18T20:14:42.931110" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:42.930655" elapsed="0.000536"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:42.930628" elapsed="0.000596"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:42.931589" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:42.931691" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:14:42.931452" elapsed="0.000266"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:42.932284" level="INFO">Attempting to execute command "sudo /sbin/iptables -L -n" on remote system "10.30.171.138" 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-08-18T20:14:42.931886" elapsed="0.000444"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:42.932892" 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-08-18T20:14:42.932482" elapsed="0.000436"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:42.933821" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:42.933897" 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-08-18T20:14:42.933521" 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-08-18T20:14:42.934073" elapsed="0.000320"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:42.935339" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:43.264403" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:32 UTC 2026

  System load:  0.16               Processes:             124
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:42 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:42.935020" elapsed="0.329540"/>
</kw>
<msg time="2026-08-18T20:14:43.264651" 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-08-18T20:14:42.934615" elapsed="0.330141"/>
</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-08-18T20:14:42.933133" elapsed="0.331756"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:43.265447" level="INFO">Executing command 'sudo /sbin/iptables -L -n'.</msg>
<msg time="2026-08-18T20:14:43.288645" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:14:43.288944" 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-08-18T20:14:43.289045" 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-08-18T20:14:43.265161" elapsed="0.023935"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:43.289461" elapsed="0.000512"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:43.291167" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:43.290434" elapsed="0.000826"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:43.291776" elapsed="0.000041"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:43.291441" elapsed="0.000454"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:43.291387" elapsed="0.000561"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:43.292302" elapsed="0.000059"/>
</return>
<status status="PASS" start="2026-08-18T20:14:43.292067" elapsed="0.000366"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:43.292033" elapsed="0.000452"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:43.292558" 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-08-18T20:14:43.299853" elapsed="0.000319"/>
</kw>
<msg time="2026-08-18T20:14:43.300265" 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-08-18T20:14:43.298600" elapsed="0.001799"/>
</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-08-18T20:14:43.300772" elapsed="0.000053"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:43.301131" elapsed="0.000044"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:43.293299" elapsed="0.008035"/>
</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-08-18T20:14:42.929919" elapsed="0.371614"/>
</kw>
<msg time="2026-08-18T20:14:43.301664" 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-08-18T20:14:42.929106" elapsed="0.372687"/>
</kw>
<msg time="2026-08-18T20:14:43.302046" 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-08-18T20:14:42.928331" elapsed="0.373772"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:43.303124" 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-08-18T20:14:43.302438" elapsed="0.000921"/>
</kw>
<arg>restore</arg>
<doc>Break and restore controller to mininet connection via iptables.</doc>
<status status="PASS" start="2026-08-18T20:14:42.520854" elapsed="0.782621"/>
</kw>
<doc>Connect Mininet.</doc>
<status status="PASS" start="2026-08-18T20:14:42.520348" elapsed="0.783263"/>
</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-08-18T20:14:43.310148" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:43.310305" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:43.310403" 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-08-18T20:14:43.305360" elapsed="0.005069"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:43.313092" 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-08-18T20:14:43.310642" elapsed="0.002496"/>
</kw>
<for flavor="IN RANGE">
<iter>
<kw name="Should Contain" owner="BuiltIn">
<msg time="2026-08-18T20:14:43.319148" 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-08-18T20:14:43.315856" elapsed="0.003396">'{"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-08-18T20:14:43.319523" 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-08-18T20:14:43.319816" 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-08-18T20:14:43.320084" 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-08-18T20:14:43.320344" elapsed="0.000027"/>
</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-08-18T20:14:43.320608" 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-08-18T20:14:43.320980" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:43.320727" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:43.320703" 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-08-18T20:14:43.321390" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:43.321158" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:43.321137" elapsed="0.000357"/>
</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-08-18T20:14:43.321808" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:43.321563" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:43.321542" elapsed="0.000372"/>
</if>
<var name="${switch}">1</var>
<status status="FAIL" start="2026-08-18T20:14:43.315596" elapsed="0.006385">'{"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-08-18T20:14:43.313198" elapsed="0.008863">'{"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-08-18T20:14:43.305037" elapsed="0.017164">'{"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-08-18T20:14:44.331276" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.331604" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:14:44.331887" 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-08-18T20:14:44.324302" elapsed="0.007624"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:44.335530" 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-08-18T20:14:44.332236" elapsed="0.003389"/>
</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-08-18T20:14:44.339135" elapsed="0.003312"/>
</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-08-18T20:14:44.342708" elapsed="0.003291"/>
</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-08-18T20:14:44.346272" elapsed="0.003257"/>
</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-08-18T20:14:44.349808" elapsed="0.002639"/>
</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-08-18T20:14:44.352634" elapsed="0.004494"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:44.357800" 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-08-18T20:14:44.357323" elapsed="0.000505"/>
</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-08-18T20:14:44.358160" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:44.357908" elapsed="0.000310"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:44.357886" elapsed="0.000359"/>
</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-08-18T20:14:44.358526" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:44.358297" elapsed="0.000284"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:44.358282" elapsed="0.000322"/>
</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-08-18T20:14:44.358906" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:44.358654" elapsed="0.000308"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:44.358640" elapsed="0.000345"/>
</if>
<var name="${switch}">1</var>
<status status="PASS" start="2026-08-18T20:14:44.338893" elapsed="0.020114"/>
</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-08-18T20:14:44.359367" elapsed="0.002362"/>
</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-08-18T20:14:44.361932" elapsed="0.002385"/>
</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-08-18T20:14:44.364507" elapsed="0.002391"/>
</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-08-18T20:14:44.367086" elapsed="0.002345"/>
</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-08-18T20:14:44.369619" elapsed="0.002358"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:44.372637" 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-08-18T20:14:44.372199" elapsed="0.000465"/>
</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-08-18T20:14:44.372985" elapsed="0.002359"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:44.372734" elapsed="0.002650"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:44.372716" elapsed="0.002693"/>
</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-08-18T20:14:44.375698" elapsed="0.002351"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:44.375463" elapsed="0.002627"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:44.375447" elapsed="0.002667"/>
</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-08-18T20:14:44.378405" elapsed="0.002321"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:44.378169" elapsed="0.002612"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:44.378152" elapsed="0.002654"/>
</if>
<var name="${switch}">2</var>
<status status="PASS" start="2026-08-18T20:14:44.359211" elapsed="0.021619"/>
</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-08-18T20:14:44.381199" elapsed="0.002344"/>
</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-08-18T20:14:44.383728" elapsed="0.002364"/>
</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-08-18T20:14:44.386281" elapsed="0.002384"/>
</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-08-18T20:14:44.388872" elapsed="0.002401"/>
</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-08-18T20:14:44.391459" elapsed="0.002483"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:44.394584" 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-08-18T20:14:44.394150" elapsed="0.000461"/>
</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-08-18T20:14:44.394934" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:44.394682" elapsed="0.000310"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:44.394663" elapsed="0.000353"/>
</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-08-18T20:14:44.395296" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:44.395068" elapsed="0.000284"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:44.395053" elapsed="0.000322"/>
</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-08-18T20:14:44.395651" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:44.395426" elapsed="0.000281"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:44.395411" elapsed="0.000319"/>
</if>
<var name="${switch}">3</var>
<status status="PASS" start="2026-08-18T20:14:44.381039" elapsed="0.014728"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-08-18T20:14:44.335705" elapsed="0.060093"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="PASS" start="2026-08-18T20:14:44.323426" elapsed="0.072434"/>
</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-08-18T20:14:43.304278" elapsed="1.091630"/>
</kw>
<doc>Check Linear Topology.</doc>
<status status="PASS" start="2026-08-18T20:14:43.303833" elapsed="1.092203"/>
</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-08-18T20:14:44.405348" level="INFO">DELETE Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.405421" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:14:44.399095" elapsed="0.006414"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:44.412123" level="INFO">DELETE Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.412185" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:14:44.405768" elapsed="0.006499"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:44.418256" level="INFO">DELETE Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.418317" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:14:44.412539" elapsed="0.005860"/>
</kw>
<var name="${switch}">1</var>
<status status="PASS" start="2026-08-18T20:14:44.398960" elapsed="0.019495"/>
</iter>
<iter>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:44.427006" level="INFO">DELETE Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.427067" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:14:44.418802" elapsed="0.008346"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:44.434532" level="INFO">DELETE Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.434631" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:14:44.427377" elapsed="0.007420"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:44.441844" level="INFO">DELETE Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.441911" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:14:44.435161" elapsed="0.006844"/>
</kw>
<var name="${switch}">2</var>
<status status="PASS" start="2026-08-18T20:14:44.418589" elapsed="0.023478"/>
</iter>
<iter>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:44.447280" level="INFO">DELETE Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.447342" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:14:44.442388" elapsed="0.005039"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:44.453909" level="INFO">DELETE Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.453970" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:14:44.447650" elapsed="0.006423"/>
</kw>
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:44.459573" level="INFO">DELETE Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.459681" level="INFO">DELETE Response : url=http://10.30.171.138: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-08-18T20:14:44.454294" elapsed="0.005563"/>
</kw>
<var name="${switch}">3</var>
<status status="PASS" start="2026-08-18T20:14:44.442202" elapsed="0.017817"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="PASS" start="2026-08-18T20:14:44.396770" elapsed="0.063322"/>
</for>
<doc>Remove some groups and flows while network is down.</doc>
<status status="PASS" start="2026-08-18T20:14:44.396345" elapsed="0.063993"/>
</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-08-18T20:14:44.506229" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:44.507337" level="INFO">GET Response : url=http://10.30.171.138: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":50522,"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":"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":64000000}},"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":16000000}},"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":64000000}},"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":16000000}},"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":65000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":23000000}},"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":16000000}},"flags":""},{"id":"#UF$TABLE*0-72","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":22000000}},"flags":"SEND_FLOW_REM"},{"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":16000000}},"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":{"... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:14:44.507889" 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-08-18T20:14:44.464033" elapsed="0.043930"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:44.512608" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":50522,"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":"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":64000000}},"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":16000000}},"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":64000000}},"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":16000000}},"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":65000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":23000000}},"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":16000000}},"flags":""},{"id":"#UF$TABLE*0-72","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":22000000}},"flags":"SEND_FLOW_REM"},{"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":16000000}},"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":22000000}},"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":16000000}},"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":65000000}},"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":64000000}},"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":16000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":22000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":22000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":64000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":64000000}},"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":23000000}},"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":64000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":65000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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-08-18T20:14:44.039Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"be:f6:dd:f7:a6:43","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":20,"nanosecond":402000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"be:40:20:79:4c:f6","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":20,"nanosecond":410000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"96:43:bf:7e:99:ac","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":20,"nanosecond":410000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":351000000},"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":351000000},"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":351000000},"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":197000000},"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":197000000},"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":197000000},"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":197000000},"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":351000000},"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":16,"nanosecond":855000000},"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":197000000},"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":16,"nanosecond":855000000},"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":197000000},"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":197000000},"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":16,"nanosecond":854000000},"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":16,"nanosecond":854000000},"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":197000000},"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":197000000},"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":197000000},"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":197000000},"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":197000000},"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":16,"nanosecond":854000000},"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":19,"nanosecond":855000000},"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":16,"nanosecond":853000000},"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":19,"nanosecond":854000000},"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":19,"nanosecond":854000000},"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":19,"nanosecond":854000000},"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":16,"nanosecond":853000000},"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":19,"nanosecond":854000000},"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":16,"nanosecond":853000000},"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":19,"nanosecond":853000000},"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":16,"nanosecond":853000000},"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":16,"nanosecond":852000000},"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":16,"nanosecond":852000000},"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":19,"nanosecond":853000000},"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":19,"nanosecond":853000000},"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":19,"nanosecond":852000000},"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":19,"nanosecond":852000000},"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":19,"nanosecond":852000000},"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":359000000},"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":16,"nanosecond":852000000},"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":16,"nanosecond":852000000},"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":358000000},"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":350000000},"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":350000000},"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":16,"nanosecond":851000000},"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":16,"nanosecond":851000000},"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":350000000},"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":16,"nanosecond":851000000},"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":16,"nanosecond":851000000},"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":16,"nanosecond":850000000},"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":350000000},"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":350000000},"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":350000000},"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":16,"nanosecond":850000000},"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":16,"nanosecond":850000000},"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":16,"nanosecond":849000000},"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":16,"nanosecond":849000000},"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":350000000},"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":16,"nanosecond":849000000},"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":350000000},"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":16,"nanosecond":848000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":350000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":350000000},"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":350000000},"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":16,"nanosecond":847000000},"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":350000000},"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":350000000},"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":350000000},"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":350000000},"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":350000000},"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":16,"nanosecond":847000000},"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":350000000},"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":350000000},"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":350000000},"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":350000000},"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":349000000},"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":349000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":846000000},"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":349000000},"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":349000000},"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":348000000},"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":348000000},"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":16,"nanosecond":846000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":16,"nanosecond":846000000},"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":16,"nanosecond":846000000},"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":348000000},"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":16,"nanosecond":846000000},"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":348000000},"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":348000000},"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":16,"nanosecond":845000000},"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":16,"nanosecond":845000000},"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":16,"nanosecond":845000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":844000000},"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":18,"nanosecond":854000000},"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":16,"nanosecond":844000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":353000000},"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":353000000},"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":16,"nanosecond":844000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":16,"nanosecond":844000000},"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":353000000},"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":353000000},"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":353000000},"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":16,"nanosecond":844000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":16,"nanosecond":843000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:44.094Z"}},{"id":"openflow:1","flow-node-inventory:port-number":50510,"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":"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":40000000}},"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":28000000}},"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":40000000}},"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":28000000}},"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":40000000}},"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":28000000}},"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":28000000}},"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":39000000}},"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":28000000}},"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":28000000}},"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":39000000}},"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":28000000}},"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":39000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":40000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":23000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":23000000}},"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":23000000}},"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":23000000}},"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":27000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":23000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":40000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":25000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":25000000}},"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":23000000}},"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":27000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":25000000}},"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":28000000}},"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":25000000}},"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":28000000}},"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":25000000}},"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":28000000}},"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":25000000}},"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":28000000}},"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":40000000}},"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":23000000}},"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":23000000}},"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":23000000}},"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":23000000}},"flags":""},{"id":"#UF$TABLE*0-70","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":"5","byte-count":"365","duration":{"second":0,"nanosecond":25000000}},"flags":"SEND_FLOW_REM"},{"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":28000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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-08-18T20:14:43.994Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"6e:d2:b7:84:d4:9e","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":20,"nanosecond":367000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"16:d6:46:59:d7:43","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":20,"nanosecond":362000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"1e:e3:ca:40:f1:19","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":20,"nanosecond":368000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":286000000},"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":286000000},"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":286000000},"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":131000000},"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":131000000},"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":131000000},"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":131000000},"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":286000000},"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":16,"nanosecond":788000000},"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":131000000},"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":16,"nanosecond":788000000},"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":131000000},"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":131000000},"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":16,"nanosecond":788000000},"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":16,"nanosecond":788000000},"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":131000000},"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":131000000},"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":131000000},"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":131000000},"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":131000000},"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":16,"nanosecond":788000000},"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":19,"nanosecond":793000000},"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":16,"nanosecond":788000000},"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":19,"nanosecond":793000000},"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":19,"nanosecond":793000000},"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":19,"nanosecond":792000000},"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":16,"nanosecond":788000000},"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":19,"nanosecond":792000000},"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":16,"nanosecond":782000000},"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":19,"nanosecond":792000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":789000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":283000000},"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":16,"nanosecond":782000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":283000000},"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":16,"nanosecond":782000000},"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":283000000},"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":283000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":792000000},"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":18,"nanosecond":792000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":792000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":789000000},"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":18,"nanosecond":789000000},"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":18,"nanosecond":789000000},"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":18,"nanosecond":789000000},"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":288000000},"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":288000000},"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":16,"nanosecond":782000000},"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":287000000},"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":287000000},"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":287000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":285000000},"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":285000000},"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":285000000},"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":285000000},"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":285000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":282000000},"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":282000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":286000000},"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":286000000},"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":16,"nanosecond":782000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:44.045Z"}},{"id":"openflow:2","flow-node-inventory:port-number":50528,"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":"12"},"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":34000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":14000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"flags":""},{"id":"#UF$TABLE*0-71","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":14000000}},"flags":"SEND_FLOW_REM"},{"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":16,"nanosecond":306000000}},"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":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":0,"nanosecond":14000000}},"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":34000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":16,"nanosecond":306000000}},"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":7000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":306000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":306000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":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":0,"nanosecond":14000000}},"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":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":0,"nanosecond":14000000}},"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":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":0,"nanosecond":14000000}},"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":53000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":20000000}},"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":7000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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-08-18T20:14:44.023Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"1a:0a:c1:d8:3d:0a","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":20,"nanosecond":371000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"a2:df:89:0f:46:46","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":20,"nanosecond":362000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"b2:84:71:f0:5e:7a","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":20,"nanosecond":371000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ce:95:e5:62:20:30","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":20,"nanosecond":371000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":318000000},"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":318000000},"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":318000000},"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":163000000},"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":162000000},"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":162000000},"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":162000000},"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":318000000},"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":16,"nanosecond":818000000},"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":162000000},"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":16,"nanosecond":818000000},"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":162000000},"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":162000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":162000000},"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":162000000},"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":162000000},"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":162000000},"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":161000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":823000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":823000000},"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":19,"nanosecond":823000000},"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":19,"nanosecond":823000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":822000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":822000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":822000000},"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":19,"nanosecond":822000000},"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":19,"nanosecond":821000000},"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":19,"nanosecond":821000000},"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":19,"nanosecond":821000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":824000000},"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":18,"nanosecond":824000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":824000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":818000000},"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":17,"nanosecond":818000000},"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":17,"nanosecond":818000000},"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":17,"nanosecond":818000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":318000000},"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":318000000},"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":318000000},"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":318000000},"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":318000000},"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":318000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:44.066Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:44.508419" elapsed="0.010489"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-08-18T20:14:44.522793" level="INFO">Item found from container 303 times.</msg>
<msg time="2026-08-18T20:14:44.522877" 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-08-18T20:14:44.519176" elapsed="0.003725"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<msg time="2026-08-18T20:14:44.523456" 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-08-18T20:14:44.523096" elapsed="0.000432">303 != 300</status>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:14:44.463274" elapsed="0.060364">303 != 300</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:45.574366" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:45.575643" level="INFO">GET Response : url=http://10.30.171.138: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":50522,"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":"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":64000000}},"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":16000000}},"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":64000000}},"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":16000000}},"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":65000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":23000000}},"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":16000000}},"flags":""},{"id":"#UF$TABLE*0-72","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":22000000}},"flags":"SEND_FLOW_REM"},{"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":16000000}},"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":{"... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:14:45.576170" 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-08-18T20:14:45.525332" elapsed="0.050902"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:45.582287" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":50522,"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":"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":64000000}},"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":16000000}},"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":64000000}},"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":16000000}},"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":65000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":23000000}},"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":16000000}},"flags":""},{"id":"#UF$TABLE*0-72","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":22000000}},"flags":"SEND_FLOW_REM"},{"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":16000000}},"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":22000000}},"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":16000000}},"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":65000000}},"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":64000000}},"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":16000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":22000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":22000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":64000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":64000000}},"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":23000000}},"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":64000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":65000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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-08-18T20:14:44.039Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"be:f6:dd:f7:a6:43","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":20,"nanosecond":402000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"be:40:20:79:4c:f6","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":20,"nanosecond":410000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"96:43:bf:7e:99:ac","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":20,"nanosecond":410000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":351000000},"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":351000000},"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":351000000},"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":197000000},"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":197000000},"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":197000000},"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":197000000},"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":351000000},"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":16,"nanosecond":855000000},"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":197000000},"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":16,"nanosecond":855000000},"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":197000000},"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":197000000},"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":16,"nanosecond":854000000},"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":16,"nanosecond":854000000},"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":197000000},"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":197000000},"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":197000000},"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":197000000},"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":197000000},"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":16,"nanosecond":854000000},"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":19,"nanosecond":855000000},"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":16,"nanosecond":853000000},"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":19,"nanosecond":854000000},"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":19,"nanosecond":854000000},"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":19,"nanosecond":854000000},"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":16,"nanosecond":853000000},"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":19,"nanosecond":854000000},"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":16,"nanosecond":853000000},"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":19,"nanosecond":853000000},"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":16,"nanosecond":853000000},"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":16,"nanosecond":852000000},"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":16,"nanosecond":852000000},"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":19,"nanosecond":853000000},"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":19,"nanosecond":853000000},"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":19,"nanosecond":852000000},"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":19,"nanosecond":852000000},"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":19,"nanosecond":852000000},"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":359000000},"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":16,"nanosecond":852000000},"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":16,"nanosecond":852000000},"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":358000000},"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":350000000},"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":350000000},"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":16,"nanosecond":851000000},"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":16,"nanosecond":851000000},"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":350000000},"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":16,"nanosecond":851000000},"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":16,"nanosecond":851000000},"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":16,"nanosecond":850000000},"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":350000000},"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":350000000},"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":350000000},"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":16,"nanosecond":850000000},"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":16,"nanosecond":850000000},"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":16,"nanosecond":849000000},"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":16,"nanosecond":849000000},"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":350000000},"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":16,"nanosecond":849000000},"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":350000000},"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":16,"nanosecond":848000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":350000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":350000000},"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":350000000},"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":16,"nanosecond":847000000},"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":350000000},"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":350000000},"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":350000000},"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":350000000},"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":350000000},"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":16,"nanosecond":847000000},"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":350000000},"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":350000000},"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":350000000},"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":350000000},"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":349000000},"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":349000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":846000000},"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":349000000},"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":349000000},"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":348000000},"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":348000000},"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":16,"nanosecond":846000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":16,"nanosecond":846000000},"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":16,"nanosecond":846000000},"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":348000000},"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":16,"nanosecond":846000000},"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":348000000},"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":348000000},"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":16,"nanosecond":845000000},"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":16,"nanosecond":845000000},"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":16,"nanosecond":845000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":844000000},"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":18,"nanosecond":854000000},"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":16,"nanosecond":844000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":353000000},"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":353000000},"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":16,"nanosecond":844000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":16,"nanosecond":844000000},"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":353000000},"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":353000000},"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":353000000},"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":16,"nanosecond":844000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":16,"nanosecond":843000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:44.094Z"}},{"id":"openflow:1","flow-node-inventory:port-number":50510,"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":"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":40000000}},"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":28000000}},"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":40000000}},"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":28000000}},"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":40000000}},"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":28000000}},"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":28000000}},"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":39000000}},"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":28000000}},"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":28000000}},"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":39000000}},"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":28000000}},"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":39000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":40000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":23000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":23000000}},"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":23000000}},"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":23000000}},"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":27000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":23000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":40000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":25000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":25000000}},"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":23000000}},"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":27000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":25000000}},"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":28000000}},"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":25000000}},"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":28000000}},"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":25000000}},"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":28000000}},"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":25000000}},"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":28000000}},"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":40000000}},"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":23000000}},"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":23000000}},"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":23000000}},"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":23000000}},"flags":""},{"id":"#UF$TABLE*0-70","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":"5","byte-count":"365","duration":{"second":0,"nanosecond":25000000}},"flags":"SEND_FLOW_REM"},{"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":28000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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-08-18T20:14:43.994Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"6e:d2:b7:84:d4:9e","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":20,"nanosecond":367000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"16:d6:46:59:d7:43","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":20,"nanosecond":362000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"1e:e3:ca:40:f1:19","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":20,"nanosecond":368000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":286000000},"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":286000000},"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":286000000},"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":131000000},"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":131000000},"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":131000000},"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":131000000},"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":286000000},"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":16,"nanosecond":788000000},"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":131000000},"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":16,"nanosecond":788000000},"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":131000000},"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":131000000},"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":16,"nanosecond":788000000},"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":16,"nanosecond":788000000},"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":131000000},"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":131000000},"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":131000000},"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":131000000},"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":131000000},"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":16,"nanosecond":788000000},"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":19,"nanosecond":793000000},"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":16,"nanosecond":788000000},"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":19,"nanosecond":793000000},"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":19,"nanosecond":793000000},"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":19,"nanosecond":792000000},"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":16,"nanosecond":788000000},"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":19,"nanosecond":792000000},"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":16,"nanosecond":782000000},"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":19,"nanosecond":792000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":789000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":283000000},"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":16,"nanosecond":782000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":283000000},"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":16,"nanosecond":782000000},"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":283000000},"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":283000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":792000000},"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":18,"nanosecond":792000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":792000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":789000000},"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":18,"nanosecond":789000000},"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":18,"nanosecond":789000000},"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":18,"nanosecond":789000000},"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":288000000},"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":288000000},"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":16,"nanosecond":782000000},"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":287000000},"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":287000000},"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":287000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":285000000},"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":285000000},"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":285000000},"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":285000000},"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":285000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":282000000},"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":282000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":286000000},"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":286000000},"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":16,"nanosecond":782000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:44.045Z"}},{"id":"openflow:2","flow-node-inventory:port-number":50528,"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":"12"},"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":34000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":14000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"flags":""},{"id":"#UF$TABLE*0-71","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":14000000}},"flags":"SEND_FLOW_REM"},{"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":16,"nanosecond":306000000}},"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":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":0,"nanosecond":14000000}},"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":34000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":16,"nanosecond":306000000}},"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":7000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":306000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":306000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":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":0,"nanosecond":14000000}},"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":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":0,"nanosecond":14000000}},"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":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":0,"nanosecond":14000000}},"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":53000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":20000000}},"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":7000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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-08-18T20:14:44.023Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"1a:0a:c1:d8:3d:0a","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":20,"nanosecond":371000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"a2:df:89:0f:46:46","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":20,"nanosecond":362000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"b2:84:71:f0:5e:7a","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":20,"nanosecond":371000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ce:95:e5:62:20:30","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":20,"nanosecond":371000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":318000000},"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":318000000},"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":318000000},"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":163000000},"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":162000000},"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":162000000},"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":162000000},"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":318000000},"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":16,"nanosecond":818000000},"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":162000000},"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":16,"nanosecond":818000000},"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":162000000},"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":162000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":162000000},"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":162000000},"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":162000000},"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":162000000},"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":161000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":823000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":823000000},"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":19,"nanosecond":823000000},"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":19,"nanosecond":823000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":822000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":822000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":822000000},"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":19,"nanosecond":822000000},"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":19,"nanosecond":821000000},"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":19,"nanosecond":821000000},"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":19,"nanosecond":821000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":824000000},"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":18,"nanosecond":824000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":824000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":818000000},"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":17,"nanosecond":818000000},"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":17,"nanosecond":818000000},"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":17,"nanosecond":818000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":318000000},"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":318000000},"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":318000000},"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":318000000},"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":318000000},"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":318000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:44.066Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:45.576719" elapsed="0.010223"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-08-18T20:14:45.589770" level="INFO">Item found from container 303 times.</msg>
<msg time="2026-08-18T20:14:45.589854" 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-08-18T20:14:45.587140" elapsed="0.002739"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<msg time="2026-08-18T20:14:45.590440" 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-08-18T20:14:45.590074" elapsed="0.000442">303 != 300</status>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:14:45.524423" elapsed="0.066207">303 != 300</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:46.633726" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:46.635185" level="INFO">GET Response : url=http://10.30.171.138: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":50522,"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":"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":64000000}},"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":16000000}},"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":64000000}},"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":16000000}},"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":65000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":23000000}},"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":16000000}},"flags":""},{"id":"#UF$TABLE*0-72","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":22000000}},"flags":"SEND_FLOW_REM"},{"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":16000000}},"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":{"... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:14:46.635795" 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-08-18T20:14:46.592460" elapsed="0.043404"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:46.641043" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":50522,"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":"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":64000000}},"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":16000000}},"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":64000000}},"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":16000000}},"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":65000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":23000000}},"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":16000000}},"flags":""},{"id":"#UF$TABLE*0-72","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":22000000}},"flags":"SEND_FLOW_REM"},{"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":16000000}},"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":22000000}},"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":16000000}},"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":65000000}},"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":64000000}},"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":16000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":22000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":22000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":64000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":64000000}},"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":23000000}},"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":64000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":23000000}},"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":16000000}},"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":65000000}},"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":23000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":65000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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":16000000}},"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-08-18T20:14:44.039Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"be:f6:dd:f7:a6:43","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":20,"nanosecond":402000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"be:40:20:79:4c:f6","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":20,"nanosecond":410000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"96:43:bf:7e:99:ac","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":20,"nanosecond":410000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":351000000},"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":351000000},"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":351000000},"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":197000000},"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":197000000},"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":197000000},"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":197000000},"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":351000000},"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":16,"nanosecond":855000000},"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":197000000},"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":16,"nanosecond":855000000},"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":197000000},"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":197000000},"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":16,"nanosecond":854000000},"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":16,"nanosecond":854000000},"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":197000000},"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":197000000},"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":197000000},"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":197000000},"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":197000000},"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":16,"nanosecond":854000000},"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":19,"nanosecond":855000000},"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":16,"nanosecond":853000000},"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":19,"nanosecond":854000000},"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":19,"nanosecond":854000000},"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":19,"nanosecond":854000000},"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":16,"nanosecond":853000000},"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":19,"nanosecond":854000000},"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":16,"nanosecond":853000000},"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":19,"nanosecond":853000000},"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":16,"nanosecond":853000000},"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":16,"nanosecond":852000000},"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":16,"nanosecond":852000000},"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":19,"nanosecond":853000000},"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":19,"nanosecond":853000000},"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":19,"nanosecond":852000000},"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":19,"nanosecond":852000000},"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":19,"nanosecond":852000000},"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":359000000},"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":16,"nanosecond":852000000},"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":16,"nanosecond":852000000},"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":358000000},"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":350000000},"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":350000000},"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":16,"nanosecond":851000000},"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":16,"nanosecond":851000000},"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":350000000},"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":16,"nanosecond":851000000},"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":16,"nanosecond":851000000},"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":16,"nanosecond":850000000},"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":350000000},"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":350000000},"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":350000000},"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":16,"nanosecond":850000000},"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":16,"nanosecond":850000000},"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":16,"nanosecond":849000000},"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":16,"nanosecond":849000000},"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":350000000},"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":16,"nanosecond":849000000},"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":350000000},"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":16,"nanosecond":848000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":350000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":350000000},"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":350000000},"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":16,"nanosecond":847000000},"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":350000000},"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":350000000},"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":350000000},"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":350000000},"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":350000000},"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":16,"nanosecond":847000000},"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":350000000},"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":350000000},"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":350000000},"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":350000000},"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":349000000},"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":349000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":847000000},"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":16,"nanosecond":846000000},"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":349000000},"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":349000000},"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":348000000},"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":348000000},"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":16,"nanosecond":846000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":16,"nanosecond":846000000},"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":16,"nanosecond":846000000},"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":348000000},"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":16,"nanosecond":846000000},"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":348000000},"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":348000000},"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":16,"nanosecond":845000000},"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":16,"nanosecond":845000000},"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":16,"nanosecond":845000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":348000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":845000000},"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":18,"nanosecond":855000000},"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":16,"nanosecond":844000000},"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":18,"nanosecond":854000000},"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":16,"nanosecond":844000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":18,"nanosecond":854000000},"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":353000000},"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":353000000},"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":16,"nanosecond":844000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":16,"nanosecond":844000000},"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":353000000},"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":353000000},"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":353000000},"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":16,"nanosecond":844000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":353000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":17,"nanosecond":855000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":16,"nanosecond":843000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"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":351000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:44.094Z"}},{"id":"openflow:1","flow-node-inventory:port-number":50510,"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":"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":40000000}},"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":28000000}},"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":40000000}},"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":28000000}},"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":40000000}},"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":28000000}},"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":28000000}},"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":39000000}},"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":28000000}},"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":28000000}},"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":39000000}},"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":28000000}},"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":39000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":40000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":23000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":23000000}},"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":23000000}},"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":23000000}},"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":27000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":23000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":28000000}},"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":40000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":25000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":25000000}},"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":23000000}},"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":27000000}},"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":28000000}},"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":28000000}},"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":40000000}},"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":39000000}},"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":25000000}},"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":25000000}},"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":23000000}},"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":23000000}},"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":25000000}},"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":28000000}},"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":25000000}},"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":28000000}},"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":25000000}},"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":28000000}},"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":25000000}},"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":28000000}},"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":40000000}},"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":23000000}},"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":23000000}},"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":23000000}},"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":23000000}},"flags":""},{"id":"#UF$TABLE*0-70","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":"5","byte-count":"365","duration":{"second":0,"nanosecond":25000000}},"flags":"SEND_FLOW_REM"},{"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":28000000}},"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":23000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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-08-18T20:14:43.994Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"6e:d2:b7:84:d4:9e","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":20,"nanosecond":367000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"16:d6:46:59:d7:43","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":20,"nanosecond":362000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"1e:e3:ca:40:f1:19","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":20,"nanosecond":368000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":286000000},"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":286000000},"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":286000000},"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":131000000},"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":131000000},"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":131000000},"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":131000000},"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":286000000},"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":16,"nanosecond":788000000},"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":131000000},"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":16,"nanosecond":788000000},"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":131000000},"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":131000000},"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":16,"nanosecond":788000000},"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":16,"nanosecond":788000000},"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":131000000},"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":131000000},"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":131000000},"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":131000000},"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":131000000},"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":16,"nanosecond":788000000},"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":19,"nanosecond":793000000},"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":16,"nanosecond":788000000},"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":19,"nanosecond":793000000},"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":19,"nanosecond":793000000},"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":19,"nanosecond":792000000},"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":16,"nanosecond":788000000},"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":19,"nanosecond":792000000},"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":16,"nanosecond":782000000},"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":19,"nanosecond":792000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":790000000},"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":19,"nanosecond":789000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":283000000},"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":16,"nanosecond":782000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":283000000},"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":16,"nanosecond":782000000},"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":283000000},"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":283000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":16,"nanosecond":782000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":792000000},"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":18,"nanosecond":792000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":792000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":16,"nanosecond":782000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":790000000},"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":18,"nanosecond":789000000},"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":18,"nanosecond":789000000},"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":18,"nanosecond":789000000},"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":18,"nanosecond":789000000},"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":288000000},"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":288000000},"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":16,"nanosecond":782000000},"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":287000000},"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":287000000},"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":287000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":285000000},"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":285000000},"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":285000000},"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":285000000},"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":285000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":284000000},"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":16,"nanosecond":782000000},"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":284000000},"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":284000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":283000000},"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":282000000},"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":282000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":789000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":17,"nanosecond":788000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":287000000},"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":286000000},"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":286000000},"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":16,"nanosecond":782000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"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":286000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:44.045Z"}},{"id":"openflow:2","flow-node-inventory:port-number":50528,"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":"12"},"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":34000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":14000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"flags":""},{"id":"#UF$TABLE*0-71","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":14000000}},"flags":"SEND_FLOW_REM"},{"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":16,"nanosecond":306000000}},"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":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":0,"nanosecond":14000000}},"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":34000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":16,"nanosecond":306000000}},"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":7000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":306000000}},"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":25000000}},"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":25000000}},"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":34000000}},"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":25000000}},"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":7000000}},"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":7000000}},"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":306000000}},"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":7000000}},"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":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":0,"nanosecond":14000000}},"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":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":0,"nanosecond":14000000}},"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":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":0,"nanosecond":14000000}},"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":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":0,"nanosecond":14000000}},"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":53000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":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":0,"nanosecond":20000000}},"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":7000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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":25000000}},"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-08-18T20:14:44.023Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"1a:0a:c1:d8:3d:0a","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":20,"nanosecond":371000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"a2:df:89:0f:46:46","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":20,"nanosecond":362000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"b2:84:71:f0:5e:7a","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":20,"nanosecond":371000000},"bytes":{"transmitted":"911","received":"911"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ce:95:e5:62:20:30","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":20,"nanosecond":371000000},"bytes":{"transmitted":"911","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":318000000},"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":318000000},"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":318000000},"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":163000000},"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":162000000},"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":162000000},"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":162000000},"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":318000000},"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":16,"nanosecond":818000000},"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":162000000},"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":16,"nanosecond":818000000},"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":162000000},"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":162000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":162000000},"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":162000000},"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":162000000},"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":162000000},"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":161000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":823000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":823000000},"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":19,"nanosecond":823000000},"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":19,"nanosecond":823000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":822000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":822000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":19,"nanosecond":822000000},"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":19,"nanosecond":822000000},"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":19,"nanosecond":821000000},"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":19,"nanosecond":821000000},"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":19,"nanosecond":821000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":316000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":818000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":316000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":16,"nanosecond":810000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":316000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":824000000},"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":18,"nanosecond":824000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":824000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":16,"nanosecond":810000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":18,"nanosecond":822000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":820000000},"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":17,"nanosecond":818000000},"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":17,"nanosecond":818000000},"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":17,"nanosecond":818000000},"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":17,"nanosecond":818000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":319000000},"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":16,"nanosecond":810000000},"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":319000000},"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":319000000},"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":319000000},"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":318000000},"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":318000000},"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":318000000},"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":318000000},"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":318000000},"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":318000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:44.066Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:46.636467" elapsed="0.010498"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-08-18T20:14:46.650935" level="INFO">Item found from container 303 times.</msg>
<msg time="2026-08-18T20:14:46.651021" 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-08-18T20:14:46.647260" elapsed="0.003785"/>
</kw>
<kw name="Should Be Equal As Integers" owner="BuiltIn">
<msg time="2026-08-18T20:14:46.651608" 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-08-18T20:14:46.651240" elapsed="0.000446">303 != 300</status>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:14:46.591532" elapsed="0.060297">303 != 300</status>
</kw>
<kw name="Check Number Of Flows" owner="FlowLib">
<kw name="GET On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:14:47.702223" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:47.702967" level="INFO">GET Response : url=http://10.30.171.138: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":50522,"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":"18","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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":20000000}},"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":20000000}},"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... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:14:47.703526" 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-08-18T20:14:47.653865" elapsed="0.049729"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.709843" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":50522,"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":"18","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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":19000000}},"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":19000000}},"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":19000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"flags":""},{"id":"#UF$TABLE*0-72","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":19000000}},"flags":"SEND_FLOW_REM"},{"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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-08-18T20:14:47.052Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"be:f6:dd:f7:a6:43","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":23,"nanosecond":406000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"be:40:20:79:4c:f6","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":"12","received":"12"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":414000000},"bytes":{"transmitted":"996","received":"996"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"96:43:bf:7e:99:ac","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":"12","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":414000000},"bytes":{"transmitted":"996","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":344000000},"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":344000000},"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":344000000},"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":190000000},"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":190000000},"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":190000000},"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":190000000},"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":344000000},"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":19,"nanosecond":848000000},"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":190000000},"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":19,"nanosecond":848000000},"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":190000000},"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":190000000},"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":19,"nanosecond":847000000},"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":19,"nanosecond":847000000},"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":190000000},"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":190000000},"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":190000000},"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":190000000},"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":190000000},"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":19,"nanosecond":847000000},"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":22,"nanosecond":848000000},"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":19,"nanosecond":846000000},"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":22,"nanosecond":847000000},"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":22,"nanosecond":847000000},"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":22,"nanosecond":847000000},"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":19,"nanosecond":846000000},"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":22,"nanosecond":847000000},"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":19,"nanosecond":846000000},"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":22,"nanosecond":846000000},"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":19,"nanosecond":846000000},"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":19,"nanosecond":845000000},"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":19,"nanosecond":845000000},"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":22,"nanosecond":846000000},"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":22,"nanosecond":846000000},"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":22,"nanosecond":845000000},"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":22,"nanosecond":845000000},"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":22,"nanosecond":845000000},"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":352000000},"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":19,"nanosecond":845000000},"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":19,"nanosecond":845000000},"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":351000000},"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":343000000},"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":343000000},"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":19,"nanosecond":844000000},"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":19,"nanosecond":844000000},"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":343000000},"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":19,"nanosecond":844000000},"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":19,"nanosecond":844000000},"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":19,"nanosecond":843000000},"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":343000000},"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":343000000},"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":343000000},"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":19,"nanosecond":843000000},"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":19,"nanosecond":843000000},"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":19,"nanosecond":842000000},"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":19,"nanosecond":842000000},"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":343000000},"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":19,"nanosecond":842000000},"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":343000000},"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":19,"nanosecond":841000000},"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":19,"nanosecond":840000000},"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":19,"nanosecond":840000000},"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":343000000},"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":19,"nanosecond":840000000},"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":19,"nanosecond":840000000},"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":19,"nanosecond":840000000},"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":343000000},"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":343000000},"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":19,"nanosecond":840000000},"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":343000000},"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":343000000},"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":343000000},"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":343000000},"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":343000000},"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":19,"nanosecond":840000000},"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":343000000},"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":343000000},"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":343000000},"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":343000000},"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":342000000},"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":342000000},"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":19,"nanosecond":840000000},"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":19,"nanosecond":840000000},"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":342000000},"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":342000000},"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":341000000},"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":341000000},"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":19,"nanosecond":839000000},"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":341000000},"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":341000000},"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":341000000},"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":341000000},"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":341000000},"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":19,"nanosecond":839000000},"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":19,"nanosecond":839000000},"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":19,"nanosecond":839000000},"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":341000000},"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":341000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":341000000},"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":341000000},"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":341000000},"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":341000000},"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":341000000},"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":19,"nanosecond":838000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":19,"nanosecond":838000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":19,"nanosecond":838000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":19,"nanosecond":838000000},"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":21,"nanosecond":848000000},"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":19,"nanosecond":837000000},"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":21,"nanosecond":847000000},"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":19,"nanosecond":837000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":346000000},"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":346000000},"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":19,"nanosecond":837000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":19,"nanosecond":837000000},"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":346000000},"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":346000000},"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":346000000},"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":19,"nanosecond":837000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":19,"nanosecond":836000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:47.099Z"}},{"id":"openflow:1","flow-node-inventory:port-number":50510,"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":"18","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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"flags":""},{"id":"#UF$TABLE*0-70","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":30000000}},"flags":"SEND_FLOW_REM"},{"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":32000000}},"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":32000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":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":3,"nanosecond":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":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":3,"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":3,"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":3,"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":3,"nanosecond":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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-08-18T20:14:47.010Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"6e:d2:b7:84:d4:9e","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":"12","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":387000000},"bytes":{"transmitted":"996","received":"656"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"16:d6:46:59:d7:43","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":23,"nanosecond":382000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"1e:e3:ca:40:f1:19","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":"12","received":"12"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":388000000},"bytes":{"transmitted":"996","received":"996"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":304000000},"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":304000000},"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":304000000},"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":149000000},"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":149000000},"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":149000000},"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":149000000},"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":304000000},"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":19,"nanosecond":806000000},"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":149000000},"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":19,"nanosecond":806000000},"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":149000000},"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":149000000},"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":19,"nanosecond":806000000},"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":19,"nanosecond":806000000},"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":149000000},"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":149000000},"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":149000000},"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":149000000},"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":149000000},"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":19,"nanosecond":806000000},"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":22,"nanosecond":811000000},"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":19,"nanosecond":806000000},"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":22,"nanosecond":811000000},"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":22,"nanosecond":811000000},"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":22,"nanosecond":810000000},"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":19,"nanosecond":806000000},"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":22,"nanosecond":810000000},"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":19,"nanosecond":800000000},"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":22,"nanosecond":810000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":22,"nanosecond":808000000},"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":22,"nanosecond":808000000},"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":22,"nanosecond":808000000},"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":22,"nanosecond":808000000},"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":22,"nanosecond":807000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":19,"nanosecond":800000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":302000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":301000000},"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":19,"nanosecond":800000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":301000000},"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":301000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":810000000},"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":21,"nanosecond":810000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":810000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":808000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":808000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":807000000},"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":21,"nanosecond":807000000},"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":21,"nanosecond":807000000},"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":21,"nanosecond":807000000},"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":306000000},"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":306000000},"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":19,"nanosecond":800000000},"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":305000000},"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":305000000},"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":305000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":303000000},"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":303000000},"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":303000000},"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":303000000},"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":303000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":300000000},"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":300000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":806000000},"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":20,"nanosecond":806000000},"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":20,"nanosecond":806000000},"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":20,"nanosecond":806000000},"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":20,"nanosecond":806000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":304000000},"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":304000000},"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":19,"nanosecond":800000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:47.064Z"}},{"id":"openflow:2","flow-node-inventory:port-number":50528,"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":"29","active-flows":100,"packets-matched":"14"},"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":76000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"flags":""},{"id":"#UF$TABLE*0-71","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":"1100","duration":{"second":3,"nanosecond":37000000}},"flags":"SEND_FLOW_REM"},{"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":48000000}},"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":48000000}},"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":48000000}},"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":43000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":30000000}},"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":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":3,"nanosecond":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":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":3,"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":3,"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":3,"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":3,"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":3,"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":3,"nanosecond":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":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":3,"nanosecond":30000000}},"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":8000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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-08-18T20:14:47.036Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"1a:0a:c1:d8:3d:0a","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":"12","received":"12"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":387000000},"bytes":{"transmitted":"996","received":"996"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"a2:df:89:0f:46:46","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":379000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"b2:84:71:f0:5e:7a","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":"12","received":"12"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":387000000},"bytes":{"transmitted":"996","received":"996"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ce:95:e5:62:20:30","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":"12","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":387000000},"bytes":{"transmitted":"996","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":338000000},"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":338000000},"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":338000000},"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":183000000},"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":182000000},"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":182000000},"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":182000000},"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":338000000},"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":19,"nanosecond":838000000},"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":182000000},"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":19,"nanosecond":838000000},"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":182000000},"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":182000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":182000000},"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":182000000},"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":182000000},"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":182000000},"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":181000000},"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":19,"nanosecond":838000000},"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":22,"nanosecond":843000000},"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":19,"nanosecond":838000000},"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":22,"nanosecond":843000000},"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":22,"nanosecond":843000000},"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":22,"nanosecond":843000000},"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":19,"nanosecond":838000000},"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":22,"nanosecond":842000000},"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":19,"nanosecond":838000000},"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":22,"nanosecond":842000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":22,"nanosecond":842000000},"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":22,"nanosecond":842000000},"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":22,"nanosecond":841000000},"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":22,"nanosecond":841000000},"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":22,"nanosecond":841000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":336000000},"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":19,"nanosecond":838000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":19,"nanosecond":830000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":19,"nanosecond":830000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":844000000},"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":21,"nanosecond":844000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":844000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":842000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":842000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":339000000},"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":339000000},"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":19,"nanosecond":830000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":19,"nanosecond":830000000},"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":339000000},"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":339000000},"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":339000000},"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":19,"nanosecond":830000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":838000000},"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":20,"nanosecond":838000000},"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":20,"nanosecond":838000000},"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":20,"nanosecond":838000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":19,"nanosecond":830000000},"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":339000000},"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":339000000},"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":339000000},"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":338000000},"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":338000000},"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":338000000},"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":338000000},"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":338000000},"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":338000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:47.093Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:47.704210" elapsed="0.011490"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.719689" level="INFO">Item found from container 300 times.</msg>
<msg time="2026-08-18T20:14:47.719826" 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-08-18T20:14:47.716008" elapsed="0.003853"/>
</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-08-18T20:14:47.720132" elapsed="0.000472"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="PASS" start="2026-08-18T20:14:47.652847" elapsed="0.067855"/>
</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-08-18T20:14:44.462031" elapsed="3.258764"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-08-18T20:14:44.460898" elapsed="3.260077"/>
</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-08-18T20:14:47.766574" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:14:47.767865" level="INFO">GET Response : url=http://10.30.171.138: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":50522,"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":"18","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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":20000000}},"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":20000000}},"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... (set the log level to DEBUG or TRACE to see the full content) 
 </msg>
<msg time="2026-08-18T20:14:47.768345" 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-08-18T20:14:47.722464" elapsed="0.046009"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.772602" level="INFO">{"opendaylight-inventory:nodes":{"node":[{"id":"openflow:3","flow-node-inventory:port-number":50522,"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":"18","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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":62000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":61000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":20000000}},"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":19000000}},"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":19000000}},"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":19000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"flags":""},{"id":"#UF$TABLE*0-72","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":19000000}},"flags":"SEND_FLOW_REM"},{"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":13000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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-08-18T20:14:47.052Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:3:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"be:f6:dd:f7:a6:43","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":23,"nanosecond":406000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:3:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"be:40:20:79:4c:f6","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":"12","received":"12"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":414000000},"bytes":{"transmitted":"996","received":"996"},"receive-crc-error":"0"}},{"id":"openflow:3:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"96:43:bf:7e:99:ac","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":"12","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":414000000},"bytes":{"transmitted":"996","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":344000000},"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":344000000},"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":344000000},"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":190000000},"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":190000000},"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":190000000},"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":190000000},"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":344000000},"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":19,"nanosecond":848000000},"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":190000000},"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":19,"nanosecond":848000000},"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":190000000},"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":190000000},"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":19,"nanosecond":847000000},"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":19,"nanosecond":847000000},"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":190000000},"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":190000000},"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":190000000},"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":190000000},"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":190000000},"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":19,"nanosecond":847000000},"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":22,"nanosecond":848000000},"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":19,"nanosecond":846000000},"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":22,"nanosecond":847000000},"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":22,"nanosecond":847000000},"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":22,"nanosecond":847000000},"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":19,"nanosecond":846000000},"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":22,"nanosecond":847000000},"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":19,"nanosecond":846000000},"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":22,"nanosecond":846000000},"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":19,"nanosecond":846000000},"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":19,"nanosecond":845000000},"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":19,"nanosecond":845000000},"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":22,"nanosecond":846000000},"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":22,"nanosecond":846000000},"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":22,"nanosecond":845000000},"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":22,"nanosecond":845000000},"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":22,"nanosecond":845000000},"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":352000000},"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":19,"nanosecond":845000000},"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":19,"nanosecond":845000000},"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":351000000},"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":343000000},"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":343000000},"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":19,"nanosecond":844000000},"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":19,"nanosecond":844000000},"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":343000000},"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":19,"nanosecond":844000000},"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":19,"nanosecond":844000000},"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":19,"nanosecond":843000000},"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":343000000},"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":343000000},"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":343000000},"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":19,"nanosecond":843000000},"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":19,"nanosecond":843000000},"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":19,"nanosecond":842000000},"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":19,"nanosecond":842000000},"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":343000000},"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":19,"nanosecond":842000000},"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":343000000},"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":19,"nanosecond":841000000},"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":19,"nanosecond":840000000},"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":19,"nanosecond":840000000},"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":343000000},"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":19,"nanosecond":840000000},"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":19,"nanosecond":840000000},"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":19,"nanosecond":840000000},"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":343000000},"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":343000000},"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":19,"nanosecond":840000000},"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":343000000},"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":343000000},"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":343000000},"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":343000000},"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":343000000},"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":19,"nanosecond":840000000},"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":343000000},"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":343000000},"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":343000000},"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":343000000},"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":342000000},"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":342000000},"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":19,"nanosecond":840000000},"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":19,"nanosecond":840000000},"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":342000000},"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":342000000},"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":341000000},"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":341000000},"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":19,"nanosecond":839000000},"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":341000000},"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":341000000},"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":341000000},"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":341000000},"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":341000000},"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":19,"nanosecond":839000000},"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":19,"nanosecond":839000000},"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":19,"nanosecond":839000000},"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":341000000},"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":341000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":341000000},"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":341000000},"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":341000000},"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":341000000},"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":341000000},"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":19,"nanosecond":838000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":19,"nanosecond":838000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":19,"nanosecond":838000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":21,"nanosecond":848000000},"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":19,"nanosecond":838000000},"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":21,"nanosecond":848000000},"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":19,"nanosecond":837000000},"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":21,"nanosecond":847000000},"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":19,"nanosecond":837000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":21,"nanosecond":847000000},"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":346000000},"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":346000000},"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":19,"nanosecond":837000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":19,"nanosecond":837000000},"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":346000000},"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":346000000},"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":346000000},"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":19,"nanosecond":837000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":346000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":20,"nanosecond":848000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":19,"nanosecond":836000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"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":344000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:47.099Z"}},{"id":"openflow:1","flow-node-inventory:port-number":50510,"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":"18","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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":45000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":44000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"flags":""},{"id":"#UF$TABLE*0-70","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":30000000}},"flags":"SEND_FLOW_REM"},{"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":33000000}},"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":32000000}},"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":32000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":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":3,"nanosecond":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":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":3,"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":3,"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":3,"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":3,"nanosecond":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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":28000000}},"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-08-18T20:14:47.010Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:1:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"6e:d2:b7:84:d4:9e","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":"12","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":387000000},"bytes":{"transmitted":"996","received":"656"},"receive-crc-error":"0"}},{"id":"openflow:1:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"16:d6:46:59:d7:43","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":23,"nanosecond":382000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:1:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"1e:e3:ca:40:f1:19","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":"12","received":"12"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":388000000},"bytes":{"transmitted":"996","received":"996"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":304000000},"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":304000000},"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":304000000},"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":149000000},"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":149000000},"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":149000000},"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":149000000},"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":304000000},"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":19,"nanosecond":806000000},"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":149000000},"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":19,"nanosecond":806000000},"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":149000000},"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":149000000},"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":19,"nanosecond":806000000},"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":19,"nanosecond":806000000},"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":149000000},"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":149000000},"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":149000000},"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":149000000},"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":149000000},"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":19,"nanosecond":806000000},"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":22,"nanosecond":811000000},"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":19,"nanosecond":806000000},"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":22,"nanosecond":811000000},"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":22,"nanosecond":811000000},"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":22,"nanosecond":810000000},"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":19,"nanosecond":806000000},"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":22,"nanosecond":810000000},"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":19,"nanosecond":800000000},"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":22,"nanosecond":810000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":22,"nanosecond":808000000},"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":22,"nanosecond":808000000},"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":22,"nanosecond":808000000},"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":22,"nanosecond":808000000},"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":22,"nanosecond":807000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":19,"nanosecond":800000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":302000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":301000000},"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":19,"nanosecond":800000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":301000000},"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":301000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":19,"nanosecond":800000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":810000000},"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":21,"nanosecond":810000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":810000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":808000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":808000000},"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":19,"nanosecond":800000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":808000000},"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":21,"nanosecond":807000000},"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":21,"nanosecond":807000000},"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":21,"nanosecond":807000000},"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":21,"nanosecond":807000000},"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":306000000},"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":306000000},"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":19,"nanosecond":800000000},"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":305000000},"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":305000000},"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":305000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":303000000},"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":303000000},"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":303000000},"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":303000000},"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":303000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":302000000},"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":19,"nanosecond":800000000},"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":302000000},"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":302000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":301000000},"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":300000000},"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":300000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":807000000},"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":20,"nanosecond":806000000},"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":20,"nanosecond":806000000},"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":20,"nanosecond":806000000},"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":20,"nanosecond":806000000},"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":20,"nanosecond":806000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":305000000},"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":304000000},"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":304000000},"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":19,"nanosecond":800000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"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":304000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:47.064Z"}},{"id":"openflow:2","flow-node-inventory:port-number":50528,"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":"29","active-flows":100,"packets-matched":"14"},"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":76000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":57000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"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":48000000}},"flags":""},{"id":"#UF$TABLE*0-71","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":"1100","duration":{"second":3,"nanosecond":37000000}},"flags":"SEND_FLOW_REM"},{"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":48000000}},"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":48000000}},"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":48000000}},"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":43000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":37000000}},"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":30000000}},"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":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":3,"nanosecond":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":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":3,"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":3,"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":3,"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":3,"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":3,"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":3,"nanosecond":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":30000000}},"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":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":3,"nanosecond":30000000}},"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":8000000}},"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":7000000}},"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":7000000}},"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":7000000}},"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-08-18T20:14:47.036Z"},"flow-node-inventory:software":"2.17.11","node-connector":[{"id":"openflow:2:3","flow-node-inventory:port-number":3,"flow-node-inventory:hardware-address":"1a:0a:c1:d8:3d:0a","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":"12","received":"12"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":387000000},"bytes":{"transmitted":"996","received":"996"},"receive-crc-error":"0"}},{"id":"openflow:2:LOCAL","flow-node-inventory:port-number":4294967294,"flow-node-inventory:hardware-address":"a2:df:89:0f:46:46","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":379000000},"bytes":{"transmitted":"0","received":"0"},"receive-crc-error":"0"}},{"id":"openflow:2:2","flow-node-inventory:port-number":2,"flow-node-inventory:hardware-address":"b2:84:71:f0:5e:7a","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":"12","received":"12"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":387000000},"bytes":{"transmitted":"996","received":"996"},"receive-crc-error":"0"}},{"id":"openflow:2:1","flow-node-inventory:port-number":1,"flow-node-inventory:hardware-address":"ce:95:e5:62:20:30","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":"12","received":"8"},"receive-over-run-error":"0","receive-errors":"0","transmit-errors":"0","duration":{"second":23,"nanosecond":387000000},"bytes":{"transmitted":"996","received":"656"},"receive-crc-error":"0"}}],"flow-node-inventory:ip-address":"10.30.171.230","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":338000000},"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":338000000},"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":338000000},"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":183000000},"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":182000000},"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":182000000},"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":182000000},"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":338000000},"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":19,"nanosecond":838000000},"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":182000000},"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":19,"nanosecond":838000000},"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":182000000},"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":182000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":182000000},"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":182000000},"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":182000000},"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":182000000},"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":181000000},"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":19,"nanosecond":838000000},"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":22,"nanosecond":843000000},"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":19,"nanosecond":838000000},"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":22,"nanosecond":843000000},"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":22,"nanosecond":843000000},"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":22,"nanosecond":843000000},"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":19,"nanosecond":838000000},"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":22,"nanosecond":842000000},"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":19,"nanosecond":838000000},"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":22,"nanosecond":842000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":22,"nanosecond":842000000},"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":22,"nanosecond":842000000},"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":22,"nanosecond":841000000},"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":22,"nanosecond":841000000},"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":22,"nanosecond":841000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":336000000},"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":19,"nanosecond":838000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":336000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":838000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":19,"nanosecond":830000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":19,"nanosecond":830000000},"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":19,"nanosecond":830000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":336000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":844000000},"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":21,"nanosecond":844000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":844000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":842000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":842000000},"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":19,"nanosecond":830000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":21,"nanosecond":842000000},"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":339000000},"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":339000000},"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":19,"nanosecond":830000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":19,"nanosecond":830000000},"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":339000000},"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":339000000},"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":339000000},"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":19,"nanosecond":830000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":840000000},"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":20,"nanosecond":838000000},"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":20,"nanosecond":838000000},"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":20,"nanosecond":838000000},"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":20,"nanosecond":838000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":339000000},"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":19,"nanosecond":830000000},"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":339000000},"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":339000000},"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":339000000},"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":338000000},"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":338000000},"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":338000000},"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":338000000},"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":338000000},"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":338000000},"buckets":{"bucket-counter":[{"bucket-id":0,"byte-count":"0","packet-count":"0"}]}}}],"flow-node-inventory:snapshot-gathering-status-end":{"succeeded":true,"end":"2026-08-18T20:14:47.093Z"}}]}}</msg>
<arg>${resp.text}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:47.768972" elapsed="0.009876"/>
</kw>
<kw name="Get Count" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.782454" level="INFO">Item found from container 594 times.</msg>
<msg time="2026-08-18T20:14:47.782543" 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-08-18T20:14:47.779120" elapsed="0.003448"/>
</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-08-18T20:14:47.782781" elapsed="0.000326"/>
</kw>
<arg>${less_groups}</arg>
<doc>Check number of groups in the inventory.</doc>
<status status="PASS" start="2026-08-18T20:14:47.722128" elapsed="0.061047"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-08-18T20:14:47.721397" elapsed="0.061889"/>
</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-08-18T20:14:47.784849" elapsed="0.000149"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:47.784594" elapsed="0.000442"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:47.784568" elapsed="0.000496"/>
</if>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.785505" 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-08-18T20:14:47.785243" 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-08-18T20:14:47.786393" elapsed="0.000138"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:47.786176" elapsed="0.000391"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:47.786158" elapsed="0.000433"/>
</if>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:14:47.791622" 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-08-18T20:14:47.786730" elapsed="0.005186"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:14:47.874462" level="INFO">*** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=7 byte_count=535 flow_count=100
*** s2 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=14 byte_count=1100 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-08-18T20:14:47.874602" level="INFO">${output} = *** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=7 byte_count=535 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-08-18T20:14:47.792584" elapsed="0.082046"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-08-18T20:14:47.874696" elapsed="0.000076"/>
</return>
<msg time="2026-08-18T20:14:47.874936" level="INFO">${output} = *** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=7 byte_count=535 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-08-18T20:14:47.785877" elapsed="0.089088"/>
</kw>
<kw name="Get Regexp Matches" owner="String">
<msg time="2026-08-18T20:14:47.875446" 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-08-18T20:14:47.875146" elapsed="0.000327"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.876163" 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-08-18T20:14:47.875638" elapsed="0.000552"/>
</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-08-18T20:14:47.876466" elapsed="0.000352"/>
</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-08-18T20:14:47.784221" elapsed="0.092662"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-08-18T20:14:47.783565" elapsed="0.093452"/>
</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-08-18T20:14:47.883777" 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-08-18T20:14:47.883371" elapsed="0.000435"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.884263" 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-08-18T20:14:47.883968" elapsed="0.000322"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:14:47.884347" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:14:47.884505" 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-08-18T20:14:47.882986" elapsed="0.001545"/>
</kw>
<kw name="List_Indices_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.885496" 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-08-18T20:14:47.885121" elapsed="0.000401"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.886052" 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-08-18T20:14:47.885741" elapsed="0.000338"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:14:47.886123" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:47.886276" 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-08-18T20:14:47.884735" elapsed="0.001566"/>
</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-08-18T20:14:47.887799" 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-08-18T20:14:47.887362" elapsed="0.000464"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.888272" 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-08-18T20:14:47.887981" elapsed="0.000316"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:14:47.888378" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:47.888563" 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-08-18T20:14:47.886998" elapsed="0.001596"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:47.889830" level="INFO">${member_ip} = 10.30.171.138</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-08-18T20:14:47.889541" elapsed="0.000315"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:47.890606" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:47.890703" level="INFO">${current_connection} = index=20
host=10.30.171.230
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-08-18T20:14:47.890479" elapsed="0.000250"/>
</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-08-18T20:14:47.894496" elapsed="0.000067"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:47.893645" elapsed="0.001000"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:47.893621" elapsed="0.001101"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:47.895049" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:47.895284" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:14:47.894936" elapsed="0.000459"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.896398" level="INFO">Attempting to execute command "/tmp/karaf-0.22.3-SNAPSHOT/bin/stop" on remote system "10.30.171.138" 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-08-18T20:14:47.895654" elapsed="0.000811"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:47.897493" 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-08-18T20:14:47.896724" elapsed="0.000878"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:47.899943" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:47.900118" 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-08-18T20:14:47.899489" elapsed="0.000672"/>
</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-08-18T20:14:47.900913" elapsed="0.000456"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:47.903032" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:48.224103" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:32 UTC 2026

  System load:  0.16               Processes:             124
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:43 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:47.902630" elapsed="0.321670"/>
</kw>
<msg time="2026-08-18T20:14:48.224405" 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-08-18T20:14:47.902170" elapsed="0.322328"/>
</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-08-18T20:14:47.898183" elapsed="0.326424"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:48.225326" level="INFO">Executing command '/tmp/karaf-0.22.3-SNAPSHOT/bin/stop'.</msg>
<msg time="2026-08-18T20:14:48.603724" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:14:48.604357" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:14:48.604740" 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-08-18T20:14:48.224974" elapsed="0.380049"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:48.605930" elapsed="0.000730"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:48.609265" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:48.608169" elapsed="0.001179"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:48.609985" elapsed="0.000046"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:48.609618" elapsed="0.000496"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:48.609579" elapsed="0.000644"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:48.610645" elapsed="0.000061"/>
</return>
<status status="PASS" start="2026-08-18T20:14:48.610354" elapsed="0.000519"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:48.610330" elapsed="0.000650"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:48.611080" elapsed="0.000023"/>
</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-08-18T20:14:48.617926" elapsed="0.000217"/>
</kw>
<msg time="2026-08-18T20:14:48.618240" 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-08-18T20:14:48.616819" elapsed="0.001560"/>
</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-08-18T20:14:48.619919" elapsed="0.000121"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:48.621197" elapsed="0.000056"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:48.611543" elapsed="0.009789"/>
</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-08-18T20:14:47.892778" elapsed="0.728766"/>
</kw>
<msg time="2026-08-18T20:14:48.621597" 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-08-18T20:14:47.891935" elapsed="0.729714"/>
</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-08-18T20:14:47.891397" elapsed="0.730331"/>
</kw>
<msg time="2026-08-18T20:14:48.621842" 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-08-18T20:14:47.890897" elapsed="0.730993"/>
</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-08-18T20:14:48.625125" elapsed="0.000145"/>
</kw>
<msg time="2026-08-18T20:14:48.625312" 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-08-18T20:14:48.624622" elapsed="0.000752"/>
</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-08-18T20:14:48.625529" elapsed="0.000021"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:48.625685" 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-08-18T20:14:48.622178" elapsed="0.003601"/>
</kw>
<msg time="2026-08-18T20:14:48.625873" 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-08-18T20:14:47.890072" elapsed="0.735826"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:48.626339" level="INFO"/>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:48.626085" elapsed="0.000294"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-08-18T20:14:48.626422" 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-08-18T20:14:47.889000" elapsed="0.737592"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-08-18T20:14:47.888823" elapsed="0.737809"/>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="PASS" start="2026-08-18T20:14:47.888658" elapsed="0.738013"/>
</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-08-18T20:14:47.886507" elapsed="0.740223"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:48.627205" 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-08-18T20:14:48.626902" elapsed="0.000329"/>
</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-08-18T20:14:48.627380" elapsed="0.000215"/>
</kw>
<if>
<branch type="IF" condition="not ${confirm}">
<return>
<value>${updated_index_list}</value>
<status status="NOT RUN" start="2026-08-18T20:14:48.627788" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:48.627668" elapsed="0.000165"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:48.627650" elapsed="0.000203"/>
</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-08-18T20:14:48.629794" 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-08-18T20:14:48.629481" elapsed="0.000340"/>
</kw>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:48.630678" level="INFO">${member_ip} = 10.30.171.138</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-08-18T20:14:48.630413" elapsed="0.000291"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:48.631444" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:48.631542" level="INFO">${current_connection} = index=20
host=10.30.171.230
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-08-18T20:14:48.631332" elapsed="0.000236"/>
</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-08-18T20:14:48.635572" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:48.635289" elapsed="0.000341"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:48.635268" elapsed="0.000385"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:48.636018" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:48.636122" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:14:48.635886" elapsed="0.000262"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:48.636680" level="INFO">Attempting to execute command "ps axf | grep org.apache.karaf | grep -v grep | wc -l" on remote system "10.30.171.138" 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-08-18T20:14:48.636298" elapsed="0.000427"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:48.637350" 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-08-18T20:14:48.636972" elapsed="0.000403"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:48.638263" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:48.638338" 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-08-18T20:14:48.637991" elapsed="0.000370"/>
</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-08-18T20:14:48.638514" elapsed="0.000335"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:48.639681" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:48.964095" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:32 UTC 2026

  System load:  0.16               Processes:             124
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:48 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:48.639366" elapsed="0.324867"/>
</kw>
<msg time="2026-08-18T20:14:48.964297" 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-08-18T20:14:48.639014" elapsed="0.325347"/>
</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-08-18T20:14:48.637587" elapsed="0.326862"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:48.964853" level="INFO">Executing command 'ps axf | grep org.apache.karaf | grep -v grep | wc -l'.</msg>
<msg time="2026-08-18T20:14:48.987717" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:14:48.988042" level="INFO">${stdout} = 1</msg>
<msg time="2026-08-18T20:14:48.988144" 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-08-18T20:14:48.964637" elapsed="0.023560"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:48.988585" elapsed="0.000489"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:48.990149" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:48.989492" elapsed="0.000750"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:48.990668" elapsed="0.000034"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:48.990400" elapsed="0.000405"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:48.990356" elapsed="0.000500"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:48.991208" elapsed="0.000058"/>
</return>
<status status="PASS" start="2026-08-18T20:14:48.990974" elapsed="0.000364"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:48.990939" elapsed="0.000450"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:48.991462" 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-08-18T20:14:48.996639" elapsed="0.000232"/>
</kw>
<msg time="2026-08-18T20:14:48.996932" 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-08-18T20:14:48.995914" elapsed="0.001109"/>
</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-08-18T20:14:48.997240" elapsed="0.000031"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:48.997461" elapsed="0.000028"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:48.992285" elapsed="0.005287"/>
</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-08-18T20:14:48.634627" elapsed="0.363188"/>
</kw>
<msg time="2026-08-18T20:14:48.997916" 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-08-18T20:14:48.633033" elapsed="0.365031"/>
</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-08-18T20:14:48.632261" elapsed="0.366072"/>
</kw>
<msg time="2026-08-18T20:14:48.998391" 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-08-18T20:14:48.631718" elapsed="0.366737"/>
</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-08-18T20:14:49.003002" elapsed="0.000275"/>
</kw>
<msg time="2026-08-18T20:14:49.003424" 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-08-18T20:14:49.002171" elapsed="0.001346"/>
</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-08-18T20:14:49.003731" elapsed="0.000053"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:49.003991" elapsed="0.000028"/>
</kw>
<arg>${current_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:48.998884" elapsed="0.005217"/>
</kw>
<msg time="2026-08-18T20:14:49.004225" 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-08-18T20:14:48.630930" elapsed="0.373329"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:49.004936" level="INFO">1</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:49.004527" elapsed="0.000470"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-08-18T20:14:49.005055" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:14:49.005318" 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-08-18T20:14:48.630018" elapsed="0.375335"/>
</kw>
<return>
<value>${count}</value>
<status status="PASS" start="2026-08-18T20:14:49.005418" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:14:49.005656" 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-08-18T20:14:48.629143" elapsed="0.376554"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<msg time="2026-08-18T20:14:49.006518" 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-08-18T20:14:49.005963" elapsed="0.000668">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-08-18T20:14:48.628732" elapsed="0.378087">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-08-18T20:14:51.010155" 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-08-18T20:14:51.009404" elapsed="0.000819"/>
</kw>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:51.012275" level="INFO">${member_ip} = 10.30.171.138</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-08-18T20:14:51.011641" elapsed="0.000694"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:51.014033" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:51.014255" level="INFO">${current_connection} = index=20
host=10.30.171.230
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-08-18T20:14:51.013728" elapsed="0.000585"/>
</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-08-18T20:14:51.021533" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:51.021214" elapsed="0.000376"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:51.021188" elapsed="0.000428"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:51.021895" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:51.021995" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:14:51.021783" elapsed="0.000238"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:51.022554" level="INFO">Attempting to execute command "ps axf | grep org.apache.karaf | grep -v grep | wc -l" on remote system "10.30.171.138" 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-08-18T20:14:51.022167" elapsed="0.000433"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:51.023257" 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-08-18T20:14:51.022867" elapsed="0.000416"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:51.024178" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:51.024254" 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-08-18T20:14:51.023898" 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-08-18T20:14:51.024431" elapsed="0.000339"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:51.025598" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:51.341542" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:32 UTC 2026

  System load:  0.16               Processes:             124
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:48 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:51.025286" elapsed="0.316373"/>
</kw>
<msg time="2026-08-18T20:14:51.341765" 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-08-18T20:14:51.024935" elapsed="0.316999"/>
</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-08-18T20:14:51.023497" elapsed="0.318563"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:51.342560" level="INFO">Executing command 'ps axf | grep org.apache.karaf | grep -v grep | wc -l'.</msg>
<msg time="2026-08-18T20:14:51.365270" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:14:51.365514" level="INFO">${stdout} = 1</msg>
<msg time="2026-08-18T20:14:51.365610" 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-08-18T20:14:51.342307" elapsed="0.023352"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:51.366058" elapsed="0.000454"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:51.367536" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:51.366965" elapsed="0.000663"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:51.368081" elapsed="0.000036"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:51.367814" elapsed="0.000375"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:51.367739" elapsed="0.000500"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:51.368584" elapsed="0.000059"/>
</return>
<status status="PASS" start="2026-08-18T20:14:51.368355" elapsed="0.000361"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:51.368320" elapsed="0.000481"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:51.368879" 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-08-18T20:14:51.376036" elapsed="0.000148"/>
</kw>
<msg time="2026-08-18T20:14:51.376226" 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-08-18T20:14:51.375086" elapsed="0.001205"/>
</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-08-18T20:14:51.376445" elapsed="0.000022"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:51.376601" 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-08-18T20:14:51.369539" elapsed="0.007143"/>
</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-08-18T20:14:51.020534" elapsed="0.356325"/>
</kw>
<msg time="2026-08-18T20:14:51.376928" 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-08-18T20:14:51.017606" elapsed="0.359424"/>
</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-08-18T20:14:51.015851" elapsed="0.361373"/>
</kw>
<msg time="2026-08-18T20:14:51.377265" 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-08-18T20:14:51.014651" elapsed="0.362659"/>
</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-08-18T20:14:51.380476" elapsed="0.000192"/>
</kw>
<msg time="2026-08-18T20:14:51.380804" 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-08-18T20:14:51.379961" elapsed="0.000909"/>
</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-08-18T20:14:51.381025" elapsed="0.000022"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:51.381183" 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-08-18T20:14:51.377592" elapsed="0.003670"/>
</kw>
<msg time="2026-08-18T20:14:51.381348" 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-08-18T20:14:51.012838" elapsed="0.368534"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:51.381886" level="INFO">1</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:51.381555" elapsed="0.000377"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-08-18T20:14:51.381975" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:51.382124" 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-08-18T20:14:51.010664" elapsed="0.371484"/>
</kw>
<return>
<value>${count}</value>
<status status="PASS" start="2026-08-18T20:14:51.382240" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:51.382386" 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-08-18T20:14:51.008582" elapsed="0.373828"/>
</kw>
<kw name="Should Be Equal" owner="BuiltIn">
<msg time="2026-08-18T20:14:51.383000" 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-08-18T20:14:51.382562" elapsed="0.000520">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-08-18T20:14:51.007579" elapsed="0.375623">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-08-18T20:14:53.387235" 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-08-18T20:14:53.386351" elapsed="0.000969"/>
</kw>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:53.389494" level="INFO">${member_ip} = 10.30.171.138</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-08-18T20:14:53.388831" elapsed="0.000726"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:53.391437" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:53.391672" level="INFO">${current_connection} = index=20
host=10.30.171.230
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-08-18T20:14:53.391127" elapsed="0.000604"/>
</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-08-18T20:14:53.399091" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:53.398700" elapsed="0.000452"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:53.398667" elapsed="0.000516"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:53.399466" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:53.399569" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:14:53.399348" elapsed="0.000248"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:53.400196" level="INFO">Attempting to execute command "ps axf | grep org.apache.karaf | grep -v grep | wc -l" on remote system "10.30.171.138" 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-08-18T20:14:53.399783" elapsed="0.000462"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:53.400851" 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-08-18T20:14:53.400410" elapsed="0.000469"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:53.401911" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:53.401990" 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-08-18T20:14:53.401514" elapsed="0.000500"/>
</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-08-18T20:14:53.402172" elapsed="0.000347"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:53.403389" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:53.746800" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:32 UTC 2026

  System load:  0.16               Processes:             124
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:51 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:53.403064" elapsed="0.343904"/>
</kw>
<msg time="2026-08-18T20:14:53.747059" 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-08-18T20:14:53.402688" elapsed="0.344471"/>
</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-08-18T20:14:53.401099" elapsed="0.346272"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:53.747919" level="INFO">Executing command 'ps axf | grep org.apache.karaf | grep -v grep | wc -l'.</msg>
<msg time="2026-08-18T20:14:53.770345" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:14:53.770610" level="INFO">${stdout} = 0</msg>
<msg time="2026-08-18T20:14:53.770731" 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-08-18T20:14:53.747632" elapsed="0.023212"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:53.771229" elapsed="0.000547"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:53.773024" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:53.772274" 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-08-18T20:14:53.773727" elapsed="0.000076"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:53.773315" elapsed="0.000569"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:53.773259" elapsed="0.000689"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:53.774339" elapsed="0.000067"/>
</return>
<status status="PASS" start="2026-08-18T20:14:53.774078" elapsed="0.000404"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:53.774041" elapsed="0.000495"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:53.774620" elapsed="0.000038"/>
</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-08-18T20:14:53.779900" elapsed="0.000221"/>
</kw>
<msg time="2026-08-18T20:14:53.780181" 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-08-18T20:14:53.779014" elapsed="0.001261"/>
</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-08-18T20:14:53.780497" elapsed="0.000036"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:53.780736" elapsed="0.000058"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:53.775187" elapsed="0.005699"/>
</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-08-18T20:14:53.397716" elapsed="0.383415"/>
</kw>
<msg time="2026-08-18T20:14:53.781234" 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-08-18T20:14:53.395085" elapsed="0.386304"/>
</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-08-18T20:14:53.393366" elapsed="0.388345"/>
</kw>
<msg time="2026-08-18T20:14:53.781806" 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-08-18T20:14:53.392136" elapsed="0.389741"/>
</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-08-18T20:14:53.786573" elapsed="0.000308"/>
</kw>
<msg time="2026-08-18T20:14:53.786989" 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-08-18T20:14:53.785789" elapsed="0.001265"/>
</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-08-18T20:14:53.787210" elapsed="0.000022"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:53.787369" 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-08-18T20:14:53.782292" elapsed="0.005155"/>
</kw>
<msg time="2026-08-18T20:14:53.787537" 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-08-18T20:14:53.390131" elapsed="0.397432"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:53.788010" level="INFO">0</msg>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:53.787762" elapsed="0.000293"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-08-18T20:14:53.788097" elapsed="0.000027"/>
</return>
<msg time="2026-08-18T20:14:53.788246" 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-08-18T20:14:53.387852" elapsed="0.400419"/>
</kw>
<return>
<value>${count}</value>
<status status="PASS" start="2026-08-18T20:14:53.788317" elapsed="0.000025"/>
</return>
<msg time="2026-08-18T20:14:53.788461" 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-08-18T20:14:53.385391" elapsed="0.403094"/>
</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-08-18T20:14:53.788677" elapsed="0.000387"/>
</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-08-18T20:14:53.384158" elapsed="0.404972"/>
</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-08-18T20:14:48.628204" elapsed="5.160975"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-08-18T20:14:48.628061" elapsed="5.161159"/>
</iter>
<var>${index}</var>
<value>@{stop_index_list}</value>
<status status="PASS" start="2026-08-18T20:14:48.627899" elapsed="5.161368"/>
</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-08-18T20:14:53.792435" 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-08-18T20:14:53.792052" elapsed="0.000410"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:53.792938" 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-08-18T20:14:53.792623" elapsed="0.000341"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:14:53.793008" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:53.793161" 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-08-18T20:14:53.791652" elapsed="0.001533"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:53.794273" level="INFO">${member_ip} = 10.30.171.138</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-08-18T20:14:53.794003" elapsed="0.000296"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:53.795048" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:53.795147" level="INFO">${current_connection} = index=20
host=10.30.171.230
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-08-18T20:14:53.794927" elapsed="0.000246"/>
</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-08-18T20:14:53.800662" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:53.799823" elapsed="0.001004"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:53.799799" elapsed="0.001106"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:53.801201" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:53.801425" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:14:53.801090" elapsed="0.000462"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:53.802546" level="INFO">Attempting to execute command "netstat -pnatu | grep 2550" on remote system "10.30.171.138" 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-08-18T20:14:53.801828" elapsed="0.000782"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:53.803628" 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-08-18T20:14:53.802890" elapsed="0.000844"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:53.806132" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:53.806308" 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-08-18T20:14:53.805704" elapsed="0.000647"/>
</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-08-18T20:14:53.807102" elapsed="0.000456"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:53.809203" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:54.147928" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:32 UTC 2026

  System load:  0.16               Processes:             124
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:53 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:53.808873" elapsed="0.339389"/>
</kw>
<msg time="2026-08-18T20:14:54.148414" 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-08-18T20:14:53.808316" elapsed="0.340227"/>
</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-08-18T20:14:53.804193" elapsed="0.344503"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:54.149570" level="INFO">Executing command 'netstat -pnatu | grep 2550'.</msg>
<msg time="2026-08-18T20:14:54.162860" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-18T20:14:54.163202" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:14:54.163432" 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-08-18T20:14:54.149131" elapsed="0.014449"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:54.164161" elapsed="0.000473"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.167003" 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-08-18T20:14:54.165605" elapsed="0.001551"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.168449" elapsed="0.000075"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:54.167625" elapsed="0.001035"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:54.167567" elapsed="0.001307"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:54.169591" elapsed="0.000094"/>
</return>
<status status="PASS" start="2026-08-18T20:14:54.169091" elapsed="0.000800"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:54.169049" elapsed="0.001014"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.170218" 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-08-18T20:14:54.177383" elapsed="0.000155"/>
</kw>
<msg time="2026-08-18T20:14:54.177613" 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-08-18T20:14:54.176482" elapsed="0.001230"/>
</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-08-18T20:14:54.178665" elapsed="0.000055"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:54.179685" elapsed="0.000054"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:54.170960" elapsed="0.009001"/>
</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-08-18T20:14:53.798917" elapsed="0.381251"/>
</kw>
<msg time="2026-08-18T20:14:54.180223" 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-08-18T20:14:53.796348" elapsed="0.383927"/>
</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-08-18T20:14:53.795830" elapsed="0.384527"/>
</kw>
<msg time="2026-08-18T20:14:54.180398" 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-08-18T20:14:53.795323" elapsed="0.385121"/>
</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-08-18T20:14:54.183676" elapsed="0.000170"/>
</kw>
<msg time="2026-08-18T20:14:54.183889" 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-08-18T20:14:54.183186" elapsed="0.000764"/>
</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-08-18T20:14:54.184108" elapsed="0.000022"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:54.184266" 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-08-18T20:14:54.180730" elapsed="0.003615"/>
</kw>
<msg time="2026-08-18T20:14:54.184439" 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-08-18T20:14:53.794510" elapsed="0.389955"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.184924" level="INFO"/>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:54.184650" elapsed="0.000315"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-08-18T20:14:54.185007" 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-08-18T20:14:53.793587" elapsed="0.391586"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-08-18T20:14:53.793399" elapsed="0.391814"/>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="PASS" start="2026-08-18T20:14:53.793256" elapsed="0.391996"/>
</for>
<arg>command=netstat -pnatu | grep 2550</arg>
<doc>Cycle through indices (or all), run command on each.</doc>
<status status="PASS" start="2026-08-18T20:14:53.789489" elapsed="0.395848"/>
</kw>
<return>
<value>${updated_index_list}</value>
<status status="PASS" start="2026-08-18T20:14:54.185380" elapsed="0.000027"/>
</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-08-18T20:14:47.879000" elapsed="6.306514"/>
</kw>
<msg time="2026-08-18T20:14:54.185607" level="INFO">${status} = PASS</msg>
<msg time="2026-08-18T20:14:54.185652" 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-08-18T20:14:47.878408" elapsed="6.307267"/>
</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-08-18T20:14:54.186192" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:54.185774" elapsed="0.000475"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:54.185754" elapsed="0.000519"/>
</if>
<kw name="Start_Members_From_List_Or_All" owner="ClusterManagement">
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.198003" 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-08-18T20:14:54.197611" elapsed="0.000420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.198553" 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-08-18T20:14:54.198195" elapsed="0.000385"/>
</kw>
<kw name="Get Current Date" owner="DateTime">
<msg time="2026-08-18T20:14:54.199039" level="INFO">${epoch} = 1787084094.198963</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-08-18T20:14:54.198740" elapsed="0.000325"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.199622" level="INFO">${gc_filepath} = /tmp/karaf-0.22.3-SNAPSHOT/data/log/gc_1787084094.198963.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-08-18T20:14:54.199228" elapsed="0.000421"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.200200" level="INFO">${gc_options} = -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/tmp/karaf-0.22.3-SNAPSHOT/data/log/gc_1787084094.198963.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-08-18T20:14:54.199833" elapsed="0.000393"/>
</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-08-18T20:14:54.201707" 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-08-18T20:14:54.201333" elapsed="0.000401"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.202199" 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-08-18T20:14:54.201909" elapsed="0.000316"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:14:54.202269" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:54.202420" 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-08-18T20:14:54.200962" elapsed="0.001483"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:14:54.203501" level="INFO">${member_ip} = 10.30.171.138</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-08-18T20:14:54.203233" elapsed="0.000296"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:54.204309" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:54.204409" level="INFO">${current_connection} = index=20
host=10.30.171.230
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-08-18T20:14:54.204185" elapsed="0.000251"/>
</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-08-18T20:14:54.207420" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:54.207141" elapsed="0.000400"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:54.207121" elapsed="0.000445"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:54.207841" level="INFO">index=20
host=10.30.171.230
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-08-18T20:14:54.207944" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:14:54.207714" elapsed="0.000257"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.208897" 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_1787084094.198963.log" on remote system "10.30.171.138" 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-08-18T20:14:54.208121" elapsed="0.000825"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:14:54.209702" 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-08-18T20:14:54.209103" elapsed="0.000626"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.211033" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:14:54.211141" 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-08-18T20:14:54.210487" elapsed="0.000733"/>
</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-08-18T20:14:54.211510" elapsed="0.000733"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:14:54.214697" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:14:54.574276" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:14:32 UTC 2026

  System load:  0.16               Processes:             124
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 9%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:54 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:14:54.214271" elapsed="0.360291"/>
</kw>
<msg time="2026-08-18T20:14:54.574677" 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-08-18T20:14:54.212966" elapsed="0.361855"/>
</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-08-18T20:14:54.209966" elapsed="0.365244"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:14:54.575850" 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_1787084094.198963.log'.</msg>
<msg time="2026-08-18T20:14:54.598962" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:14:54.599215" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:14:54.599312" 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-08-18T20:14:54.575480" elapsed="0.023882"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:14:54.599725" elapsed="0.000519"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.601657" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:54.600704" elapsed="0.001091"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.602292" elapsed="0.000037"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:54.601984" elapsed="0.000423"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:54.601930" elapsed="0.000545"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:14:54.602880" elapsed="0.000059"/>
</return>
<status status="PASS" start="2026-08-18T20:14:54.602602" elapsed="0.000411"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:54.602565" elapsed="0.000501"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.603141" 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-08-18T20:14:54.614706" elapsed="0.000326"/>
</kw>
<msg time="2026-08-18T20:14:54.615092" 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-08-18T20:14:54.613179" elapsed="0.001996"/>
</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-08-18T20:14:54.615414" elapsed="0.000023"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:54.615640" elapsed="0.000086"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:14:54.603890" elapsed="0.012011"/>
</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-08-18T20:14:54.206578" elapsed="0.409418"/>
</kw>
<msg time="2026-08-18T20:14:54.616049" 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-08-18T20:14:54.205917" elapsed="0.410183"/>
</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-08-18T20:14:54.205357" elapsed="0.410824"/>
</kw>
<msg time="2026-08-18T20:14:54.616222" 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-08-18T20:14:54.204589" elapsed="0.411679"/>
</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-08-18T20:14:54.619495" elapsed="0.000141"/>
</kw>
<msg time="2026-08-18T20:14:54.619678" 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-08-18T20:14:54.619003" elapsed="0.000736"/>
</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-08-18T20:14:54.619920" elapsed="0.000022"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:14:54.620081" 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-08-18T20:14:54.616557" elapsed="0.003605"/>
</kw>
<msg time="2026-08-18T20:14:54.620255" 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-08-18T20:14:54.203763" elapsed="0.416517"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.620714" level="INFO"/>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:54.620467" elapsed="0.000305"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-08-18T20:14:54.620816" 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-08-18T20:14:54.202833" elapsed="0.418106"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-08-18T20:14:54.202642" elapsed="0.418336"/>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="PASS" start="2026-08-18T20:14:54.202503" elapsed="0.418515"/>
</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-08-18T20:14:54.200432" elapsed="0.420644"/>
</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-08-18T20:14:54.630691" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:54.630372" elapsed="0.000393"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:54.630353" elapsed="0.000438"/>
</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-08-18T20:14:54.632253" 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-08-18T20:14:54.631867" elapsed="0.000413"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.632732" 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-08-18T20:14:54.632438" elapsed="0.000335"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:14:54.632821" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:54.632976" 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-08-18T20:14:54.631469" elapsed="0.001532"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.634064" 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-08-18T20:14:54.633764" elapsed="0.000327"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:14:54.634138" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:14:54.634285" 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-08-18T20:14:54.633403" elapsed="0.000906"/>
</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-08-18T20:14:54.723002" 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-08-18T20:14:54.722371" elapsed="0.000729"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:14:54.724973" 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-08-18T20:14:54.724661" elapsed="0.000418">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-08-18T20:14:54.725275" 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-08-18T20:14:54.724179" elapsed="0.001191"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.727072" 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-08-18T20:14:54.726381" elapsed="0.000790"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:14:54.728589" 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-08-18T20:14:54.728883" 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-08-18T20:14:54.728282" elapsed="0.000699"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.730412" 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-08-18T20:14:54.730020" elapsed="0.000498"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.731991" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:54.731606" elapsed="0.000429"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.732461" 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-08-18T20:14:54.732193" elapsed="0.000293"/>
</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-08-18T20:14:54.732812" 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-08-18T20:14:54.733016" elapsed="0.000037"/>
</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-08-18T20:14:54.733215" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:14:54.732666" elapsed="0.000606"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.732534" elapsed="0.000768"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:14:54.733345" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:14:54.733529" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:14:54.731244" elapsed="0.002333"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:54.730666" elapsed="0.002952"/>
</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-08-18T20:14:54.734025" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:54.733675" elapsed="0.000429"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:54.730614" elapsed="0.003544"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.735845" 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-08-18T20:14:54.735115" elapsed="0.000829"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:14:54.736027" 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-08-18T20:14:54.720108" elapsed="0.016212"/>
</kw>
<msg time="2026-08-18T20:14:54.736572" 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-08-18T20:14:54.669853" elapsed="0.066773"/>
</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-08-18T20:14:54.748617" 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-08-18T20:14:54.760358" 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-08-18T20:14:54.772052" 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-08-18T20:14:54.772243" 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-08-18T20:14:54.772413" 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-08-18T20:14:54.772844" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:54.772678" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:54.772663" elapsed="0.000369"/>
</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-08-18T20:14:54.773172" 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-08-18T20:14:54.773335" 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-08-18T20:14:54.773495" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:14:54.772632" elapsed="0.000914"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.772489" elapsed="0.001082"/>
</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-08-18T20:14:54.773717" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.773809" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:14:54.773926" 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-08-18T20:14:54.665752" elapsed="0.108199"/>
</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-08-18T20:14:54.775371" 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-08-18T20:14:54.774988" 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-08-18T20:14:54.775715" 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-08-18T20:14:54.774625" elapsed="0.001115"/>
</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-08-18T20:14:54.776071" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:54.775831" elapsed="0.000296"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.776839" 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-08-18T20:14:54.776324" elapsed="0.000542"/>
</kw>
<status status="PASS" start="2026-08-18T20:14:54.776151" elapsed="0.000750"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:54.775812" elapsed="0.001111"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.779281" 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-08-18T20:14:54.777093" elapsed="0.002215"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:14:54.779358" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:14:54.779509" 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-08-18T20:14:54.774305" elapsed="0.005229"/>
</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-08-18T20:14:54.781009" 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-08-18T20:14:54.780598" 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-08-18T20:14:54.781391" 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-08-18T20:14:54.780263" elapsed="0.001154"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:14:54.781623" elapsed="0.000025"/>
</return>
<status status="PASS" start="2026-08-18T20:14:54.781488" elapsed="0.000194"/>
</branch>
<status status="PASS" start="2026-08-18T20:14:54.781469" elapsed="0.000236"/>
</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-08-18T20:14:54.781868" 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-08-18T20:14:54.782039" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.782104" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:14:54.784087" 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-08-18T20:14:54.779942" elapsed="0.004172"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.785553" 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-08-18T20:14:54.785285" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:14:54.786044" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:14:54.785782" elapsed="0.000306"/>
</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-08-18T20:14:54.791499" level="FAIL">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', 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-08-18T20:14:54.788123" elapsed="0.008298">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</kw>
<status status="FAIL" start="2026-08-18T20:14:54.786154" elapsed="0.010358">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', 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-08-18T20:14:54.796701" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:54.796545" elapsed="0.000256"/>
</branch>
<status status="FAIL" start="2026-08-18T20:14:54.786136" elapsed="0.010690">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', 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-08-18T20:14:54.797386" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.797523" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:14:54.797487" elapsed="0.000077"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:54.797469" elapsed="0.000116"/>
</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-08-18T20:14:54.797807" elapsed="0.000040"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.797925" 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-08-18T20:14:54.784457" elapsed="0.013623">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', 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-08-18T20:14:54.798187" elapsed="0.000021"/>
</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-08-18T20:14:54.644176" elapsed="0.154147">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', 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-08-18T20:14:54.798783" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:54.798505" elapsed="0.000381"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:54.798480" elapsed="0.000439"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:14:54.798963" 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-08-18T20:14:54.638292" elapsed="0.160809">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:14:54.633232" elapsed="0.165964">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', 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-08-18T20:14:54.633059" elapsed="0.166220">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:14:54.631095" elapsed="0.168313">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</kw>
<status status="FAIL" start="2026-08-18T20:14:54.630844" elapsed="0.168640">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', port=8181): Failed to establish a new connection: [Errno 111] Connection refused"))</status>
</branch>
<status status="FAIL" start="2026-08-18T20:14:54.630828" elapsed="0.168699">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', 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-08-18T20:14:54.799944" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:14:54.799618" elapsed="0.000405"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:14:54.799595" elapsed="0.000459"/>
</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-08-18T20:14:54.629962" elapsed="0.170204">ConnectionError: HTTPConnectionPool(host='10.30.171.138', port=8181): Max retries exceeded with url: /rests/data/ietf-yang-library:modules-state?content=nonconfig (Caused by NewConnectionError("HTTPConnection(host='10.30.171.138', 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-08-18T20:15:04.814837" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:04.814480" elapsed="0.000430"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:04.814455" elapsed="0.000481"/>
</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-08-18T20:15:04.816588" 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-08-18T20:15:04.816105" elapsed="0.000512"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:15:04.817104" 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-08-18T20:15:04.816796" elapsed="0.000334"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:15:04.817178" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:15:04.817346" 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-08-18T20:15:04.815672" 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-08-18T20:15:04.818406" 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-08-18T20:15:04.818112" elapsed="0.000387"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:15:04.818548" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:15:04.818699" 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-08-18T20:15:04.817730" elapsed="0.000994"/>
</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-08-18T20:15:04.910055" 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-08-18T20:15:04.909281" elapsed="0.000874"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:15:04.911995" 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-08-18T20:15:04.911618" elapsed="0.000453">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-08-18T20:15:04.912280" 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-08-18T20:15:04.911128" elapsed="0.001247"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:04.914111" 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-08-18T20:15:04.913355" elapsed="0.000854"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:15:04.915456" 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-08-18T20:15:04.915727" 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-08-18T20:15:04.915148" elapsed="0.000779"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:04.917303" 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-08-18T20:15:04.916908" elapsed="0.000501"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:04.918923" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:04.918642" elapsed="0.000325"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:15:04.919390" 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-08-18T20:15:04.919124" elapsed="0.000291"/>
</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-08-18T20:15:04.919737" elapsed="0.000136"/>
</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-08-18T20:15:04.920053" 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-08-18T20:15:04.920243" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:15:04.919605" elapsed="0.000696"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:15:04.919466" elapsed="0.000867"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:15:04.920380" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:15:04.920567" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:15:04.918276" elapsed="0.002339"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:04.917565" elapsed="0.003091"/>
</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-08-18T20:15:04.920996" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:04.920713" elapsed="0.000360"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:04.917510" elapsed="0.003616"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:15:04.922795" 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-08-18T20:15:04.922080" elapsed="0.000813"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:15:04.922975" 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-08-18T20:15:04.906984" elapsed="0.016284"/>
</kw>
<msg time="2026-08-18T20:15:04.923520" 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-08-18T20:15:04.853735" elapsed="0.069890"/>
</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-08-18T20:15:04.935677" 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-08-18T20:15:04.947854" elapsed="0.000036"/>
</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-08-18T20:15:04.960043" 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-08-18T20:15:04.960256" 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-08-18T20:15:04.960430" 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-08-18T20:15:04.960865" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:04.960700" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:04.960684" 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-08-18T20:15:04.961186" 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-08-18T20:15:04.961348" 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-08-18T20:15:04.961506" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:15:04.960651" elapsed="0.000906"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:15:04.960507" elapsed="0.001077"/>
</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-08-18T20:15:04.961726" elapsed="0.000036"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:04.961819" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:15:04.961939" 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-08-18T20:15:04.849669" elapsed="0.112295"/>
</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-08-18T20:15:04.963412" 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-08-18T20:15:04.963020" elapsed="0.000537">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:15:04.963783" 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-08-18T20:15:04.962644" 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-08-18T20:15:04.964142" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:04.963881" elapsed="0.000319"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:04.964978" 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-08-18T20:15:04.964456" elapsed="0.000549"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:04.964224" elapsed="0.000816"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:04.963863" elapsed="0.001199"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:04.967496" 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-08-18T20:15:04.965211" elapsed="0.002317"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:15:04.967581" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:15:04.967794" 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-08-18T20:15:04.962319" elapsed="0.005505"/>
</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-08-18T20:15:04.969282" 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-08-18T20:15:04.968885" 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-08-18T20:15:04.969637" 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-08-18T20:15:04.968505" elapsed="0.001164"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:15:04.969914" elapsed="0.000028"/>
</return>
<status status="PASS" start="2026-08-18T20:15:04.969766" elapsed="0.000212"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:04.969725" elapsed="0.000281"/>
</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-08-18T20:15:04.970171" elapsed="0.000026"/>
</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-08-18T20:15:04.970347" elapsed="0.000023"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:15:04.970420" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:15:04.972454" 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-08-18T20:15:04.968165" elapsed="0.004322"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:04.973962" 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-08-18T20:15:04.973672" elapsed="0.000335"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:04.974433" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:04.974158" 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-08-18T20:15:05.115212" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:15:05.115528" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:15:05.116927" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:04.976600" elapsed="0.141600">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:04.974543" elapsed="0.143857">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:05.118876" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:05.118475" elapsed="0.000552"/>
</branch>
<status status="FAIL" start="2026-08-18T20:15:04.974525" elapsed="0.144554">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:05.120447" elapsed="0.000067"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:05.120887" elapsed="0.000032"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:15:05.120794" elapsed="0.000189"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:05.120711" elapsed="0.000321"/>
</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-08-18T20:15:05.121354" elapsed="0.000050"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:15:05.121514" elapsed="0.000034"/>
</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-08-18T20:15:04.972877" elapsed="0.148918">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:05.121973" elapsed="0.000036"/>
</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-08-18T20:15:04.828287" elapsed="0.293907">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:05.122837" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:05.122400" elapsed="0.000605"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:05.122363" elapsed="0.000694"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:05.123127" elapsed="0.000032"/>
</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-08-18T20:15:04.822479" elapsed="0.300868">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:15:04.817567" elapsed="0.305926">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:15:04.817426" elapsed="0.306194">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:15:04.815243" elapsed="0.308634">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:04.814993" elapsed="0.309009">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:15:04.814977" elapsed="0.309116">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:05.124727" elapsed="0.000087"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:05.124244" elapsed="0.000645"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:05.124208" elapsed="0.000734"/>
</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-08-18T20:15:04.813966" elapsed="0.311166">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:15.140892" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:15.140417" elapsed="0.000573"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:15.140385" elapsed="0.000641"/>
</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-08-18T20:15:15.143160" 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-08-18T20:15:15.142542" elapsed="0.000658"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.143912" 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-08-18T20:15:15.143460" elapsed="0.000490"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:15:15.144016" elapsed="0.000050"/>
</return>
<msg time="2026-08-18T20:15:15.144242" 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-08-18T20:15:15.141984" elapsed="0.002294"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.145678" 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-08-18T20:15:15.145376" elapsed="0.000329"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:15:15.145767" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:15:15.145917" 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-08-18T20:15:15.144779" elapsed="0.001163"/>
</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-08-18T20:15:15.233300" 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-08-18T20:15:15.232679" elapsed="0.000719"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:15:15.235229" 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-08-18T20:15:15.234954" 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-08-18T20:15:15.235500" 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-08-18T20:15:15.234456" elapsed="0.001139"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.237310" 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-08-18T20:15:15.236659" elapsed="0.000750"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:15:15.238731" 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-08-18T20:15:15.239011" 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-08-18T20:15:15.238423" elapsed="0.000683"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.240472" 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-08-18T20:15:15.240081" elapsed="0.000498"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.242140" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:15.241879" elapsed="0.000305"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.242609" 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-08-18T20:15:15.242343" elapsed="0.000292"/>
</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-08-18T20:15:15.243017" 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-08-18T20:15:15.243230" 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-08-18T20:15:15.243408" elapsed="0.000020"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:15:15.242884" elapsed="0.000580"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:15:15.242682" elapsed="0.000813"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:15:15.243539" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:15:15.243719" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:15:15.241499" elapsed="0.002285"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:15.240727" elapsed="0.003100"/>
</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-08-18T20:15:15.244146" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:15.243883" elapsed="0.000350"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:15.240676" elapsed="0.003621"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.247880" 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-08-18T20:15:15.245282" elapsed="0.002698"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:15:15.248066" 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-08-18T20:15:15.230451" elapsed="0.017913"/>
</kw>
<msg time="2026-08-18T20:15:15.248657" 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-08-18T20:15:15.180585" elapsed="0.068127"/>
</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-08-18T20:15:15.260632" 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-08-18T20:15:15.272389" 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-08-18T20:15:15.284155" 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-08-18T20:15:15.284346" 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-08-18T20:15:15.284516" 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-08-18T20:15:15.284947" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:15.284803" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:15.284786" 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-08-18T20:15:15.285268" 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-08-18T20:15:15.285432" elapsed="0.000019"/>
</kw>
<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-08-18T20:15:15.285594" elapsed="0.000019"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:15:15.284733" elapsed="0.000913"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:15:15.284591" elapsed="0.001081"/>
</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-08-18T20:15:15.285836" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:15.285913" elapsed="0.000022"/>
</return>
<msg time="2026-08-18T20:15:15.286033" 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-08-18T20:15:15.176551" elapsed="0.109507"/>
</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-08-18T20:15:15.287507" 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-08-18T20:15:15.287097" elapsed="0.000555">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:15:15.287882" 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-08-18T20:15:15.286731" elapsed="0.001177"/>
</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-08-18T20:15:15.288222" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:15.287980" elapsed="0.000335"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.289049" 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-08-18T20:15:15.288532" elapsed="0.000543"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:15.288341" elapsed="0.000769"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:15.287961" elapsed="0.001170"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.291482" 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-08-18T20:15:15.289278" elapsed="0.002231"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:15:15.291560" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:15:15.291713" 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-08-18T20:15:15.286409" elapsed="0.005328"/>
</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-08-18T20:15:15.293149" 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-08-18T20:15:15.292770" elapsed="0.000518">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:15:15.293493" 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-08-18T20:15:15.292412" elapsed="0.001106"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:15:15.293725" elapsed="0.000049"/>
</return>
<status status="PASS" start="2026-08-18T20:15:15.293590" elapsed="0.000220"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:15.293571" elapsed="0.000263"/>
</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-08-18T20:15:15.293978" 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-08-18T20:15:15.294146" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:15:15.294213" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:15:15.296226" 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-08-18T20:15:15.292095" elapsed="0.004158"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.297702" 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-08-18T20:15:15.297431" elapsed="0.000337"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:15.298186" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:15.297922" elapsed="0.000308"/>
</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-08-18T20:15:15.305399" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:15:15.305537" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:15:15.305729" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:15.300326" elapsed="0.005790">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:15.298298" elapsed="0.007901">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:15.306381" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:15.306232" elapsed="0.000214"/>
</branch>
<status status="FAIL" start="2026-08-18T20:15:15.298279" elapsed="0.008190">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:15.307027" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:15.307228" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:15:15.307188" elapsed="0.000083"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:15.307142" elapsed="0.000151"/>
</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-08-18T20:15:15.307440" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:15:15.307511" 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-08-18T20:15:15.296592" elapsed="0.011027">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:15.307697" 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-08-18T20:15:15.155422" elapsed="0.152398">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:15.308089" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:15.307915" elapsed="0.000246"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:15.307898" elapsed="0.000286"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:15.308215" 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-08-18T20:15:15.149629" elapsed="0.158708">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:15:15.144589" elapsed="0.163840">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:15:15.144445" elapsed="0.164063">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:15:15.141446" elapsed="0.167188">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:15.141103" elapsed="0.167607">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:15:15.141080" elapsed="0.167719">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:15.309187" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:15.308893" elapsed="0.000379"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:15.308870" elapsed="0.000443"/>
</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-08-18T20:15:15.139731" elapsed="0.169713">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:25.324538" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:25.324085" elapsed="0.000552"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:25.324052" elapsed="0.000622"/>
</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-08-18T20:15:25.326886" 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-08-18T20:15:25.326228" elapsed="0.000694"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.327387" 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-08-18T20:15:25.327083" elapsed="0.000329"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:15:25.327461" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:15:25.327635" 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-08-18T20:15:25.325639" elapsed="0.002021"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.329080" 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-08-18T20:15:25.328487" elapsed="0.000620"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:15:25.329153" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:15:25.329302" 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-08-18T20:15:25.328141" elapsed="0.001186"/>
</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-08-18T20:15:25.417304" 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-08-18T20:15:25.416563" elapsed="0.000840"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:15:25.419170" 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-08-18T20:15:25.418903" 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-08-18T20:15:25.419443" 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-08-18T20:15:25.418376" elapsed="0.001162"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.421313" 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-08-18T20:15:25.420522" elapsed="0.000887"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:15:25.422683" 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-08-18T20:15:25.423041" 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-08-18T20:15:25.422368" elapsed="0.000769"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.424459" 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-08-18T20:15:25.424069" elapsed="0.000497"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.426023" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:25.425758" elapsed="0.000310"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.426508" 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-08-18T20:15:25.426224" elapsed="0.000310"/>
</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-08-18T20:15:25.426958" 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-08-18T20:15:25.427161" elapsed="0.000023"/>
</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-08-18T20:15:25.427332" elapsed="0.000020"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:15:25.426714" elapsed="0.000674"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:15:25.426581" elapsed="0.000838"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:15:25.427464" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:15:25.427646" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:15:25.425376" elapsed="0.002319"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:25.424713" elapsed="0.003023"/>
</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-08-18T20:15:25.428085" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:25.427818" elapsed="0.000345"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:25.424662" elapsed="0.003554"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.429906" 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-08-18T20:15:25.429186" elapsed="0.000816"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:15:25.430083" 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-08-18T20:15:25.414329" elapsed="0.016076"/>
</kw>
<msg time="2026-08-18T20:15:25.430696" 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-08-18T20:15:25.364324" elapsed="0.066447"/>
</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-08-18T20:15:25.442848" 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-08-18T20:15:25.454699" 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-08-18T20:15:25.466550" 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-08-18T20:15:25.466756" 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-08-18T20:15:25.466943" 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-08-18T20:15:25.467350" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:25.467208" elapsed="0.000293"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:25.467192" elapsed="0.000335"/>
</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-08-18T20:15:25.467665" elapsed="0.000020"/>
</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-08-18T20:15:25.467847" 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-08-18T20:15:25.468011" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:15:25.467162" elapsed="0.000900"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:15:25.467019" elapsed="0.001069"/>
</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-08-18T20:15:25.468231" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:25.468306" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:15:25.468422" 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-08-18T20:15:25.360230" elapsed="0.108217"/>
</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-08-18T20:15:25.469879" 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-08-18T20:15:25.469483" elapsed="0.000537">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:15:25.470224" 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-08-18T20:15:25.469149" elapsed="0.001100"/>
</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-08-18T20:15:25.470571" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:25.470331" elapsed="0.000329"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.471402" 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-08-18T20:15:25.470910" elapsed="0.000519"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:25.470687" elapsed="0.000777"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:25.470312" elapsed="0.001173"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.473857" 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-08-18T20:15:25.471634" elapsed="0.002250"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:15:25.473936" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:15:25.474089" 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-08-18T20:15:25.468824" elapsed="0.005290"/>
</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-08-18T20:15:25.475502" 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-08-18T20:15:25.475125" elapsed="0.000516">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:15:25.475876" 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-08-18T20:15:25.474737" elapsed="0.001164"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:15:25.476107" elapsed="0.000025"/>
</return>
<status status="PASS" start="2026-08-18T20:15:25.475973" elapsed="0.000192"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:25.475954" elapsed="0.000234"/>
</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-08-18T20:15:25.476331" 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-08-18T20:15:25.476500" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:15:25.476565" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:15:25.478577" 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-08-18T20:15:25.474420" elapsed="0.004184"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.480059" 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-08-18T20:15:25.479788" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:25.480516" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:25.480254" elapsed="0.000306"/>
</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-08-18T20:15:25.489501" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:15:25.489911" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:15:25.490348" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:25.482621" elapsed="0.008605">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:25.480627" elapsed="0.010794">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:25.491939" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:25.491499" elapsed="0.000597"/>
</branch>
<status status="FAIL" start="2026-08-18T20:15:25.480609" elapsed="0.011543">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:25.493425" elapsed="0.000064"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:25.493872" elapsed="0.000035"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:15:25.493733" elapsed="0.000242"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:25.493690" elapsed="0.000337"/>
</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-08-18T20:15:25.494392" elapsed="0.000053"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:15:25.494562" elapsed="0.000039"/>
</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-08-18T20:15:25.478976" elapsed="0.015890">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:25.495053" 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-08-18T20:15:25.338879" elapsed="0.156409">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:25.495971" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:25.495512" elapsed="0.000635"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:25.495472" elapsed="0.000732"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:25.496281" elapsed="0.000034"/>
</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-08-18T20:15:25.333039" elapsed="0.163475">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:15:25.327960" elapsed="0.168710">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:15:25.327812" elapsed="0.169035">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:15:25.325118" elapsed="0.171954">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:25.324770" elapsed="0.172434">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:15:25.324730" elapsed="0.172546">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:25.497995" elapsed="0.000058"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:25.497432" elapsed="0.000701"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:25.497393" elapsed="0.000796"/>
</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-08-18T20:15:25.323382" elapsed="0.175060">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:35.513275" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:35.512809" elapsed="0.000567"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:35.512774" elapsed="0.000640"/>
</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-08-18T20:15:35.515250" 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-08-18T20:15:35.514779" elapsed="0.000501"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.515765" 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-08-18T20:15:35.515442" elapsed="0.000351"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:15:35.515843" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:15:35.516012" 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-08-18T20:15:35.514341" elapsed="0.001696"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.517422" 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-08-18T20:15:35.517121" elapsed="0.000328"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:15:35.517495" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:15:35.517655" 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-08-18T20:15:35.516503" elapsed="0.001178"/>
</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-08-18T20:15:35.604891" 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-08-18T20:15:35.604252" elapsed="0.000736"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:15:35.606804" 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-08-18T20:15:35.606524" 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-08-18T20:15:35.607077" 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-08-18T20:15:35.606047" elapsed="0.001123"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.608911" 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-08-18T20:15:35.608228" elapsed="0.000782"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:15:35.610334" 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-08-18T20:15:35.610597" 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-08-18T20:15:35.610025" elapsed="0.000668"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.612143" 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-08-18T20:15:35.611629" elapsed="0.000621"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.613604" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:35.613346" elapsed="0.000303"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.614193" 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-08-18T20:15:35.613923" elapsed="0.000296"/>
</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-08-18T20:15:35.614529" 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-08-18T20:15:35.614728" 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-08-18T20:15:35.614917" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:15:35.614398" elapsed="0.000576"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:15:35.614266" elapsed="0.000738"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:15:35.615048" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:15:35.615227" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:15:35.612983" elapsed="0.002292"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:35.612396" elapsed="0.002919"/>
</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-08-18T20:15:35.615634" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:35.615371" elapsed="0.000339"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:35.612346" elapsed="0.003481"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.617484" 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-08-18T20:15:35.616788" elapsed="0.000792"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:15:35.617662" 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-08-18T20:15:35.602000" elapsed="0.015994"/>
</kw>
<msg time="2026-08-18T20:15:35.618284" 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-08-18T20:15:35.552366" elapsed="0.065972"/>
</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-08-18T20:15:35.630313" 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-08-18T20:15:35.642077" 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-08-18T20:15:35.653719" elapsed="0.000039"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-08-18T20:15:35.653927" 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-08-18T20:15:35.654098" 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-08-18T20:15:35.654502" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:35.654360" elapsed="0.000294"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:35.654345" elapsed="0.000334"/>
</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-08-18T20:15:35.654838" 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-08-18T20:15:35.655002" 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-08-18T20:15:35.655161" elapsed="0.000019"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:15:35.654315" elapsed="0.000897"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:15:35.654175" elapsed="0.001062"/>
</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-08-18T20:15:35.655378" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:35.655453" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:15:35.655566" 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-08-18T20:15:35.548335" elapsed="0.107257"/>
</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-08-18T20:15:35.657019" 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-08-18T20:15:35.656617" elapsed="0.000542">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:15:35.657365" 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-08-18T20:15:35.656285" elapsed="0.001106"/>
</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-08-18T20:15:35.657700" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:35.657462" elapsed="0.000352"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.658524" 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-08-18T20:15:35.658034" elapsed="0.000517"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:35.657841" elapsed="0.000746"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:35.657444" elapsed="0.001164"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.660972" 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-08-18T20:15:35.658777" elapsed="0.002222"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:15:35.661050" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:15:35.661200" 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-08-18T20:15:35.655955" elapsed="0.005270"/>
</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-08-18T20:15:35.662602" 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-08-18T20:15:35.662227" elapsed="0.000514">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:15:35.662977" 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-08-18T20:15:35.661895" elapsed="0.001107"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:15:35.663206" elapsed="0.000025"/>
</return>
<status status="PASS" start="2026-08-18T20:15:35.663073" elapsed="0.000191"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:35.663054" elapsed="0.000233"/>
</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-08-18T20:15:35.663428" 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-08-18T20:15:35.663595" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:15:35.663660" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:15:35.665652" 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-08-18T20:15:35.661517" elapsed="0.004161"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.667123" 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-08-18T20:15:35.666851" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:35.667576" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:35.667317" elapsed="0.000302"/>
</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-08-18T20:15:35.674768" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:15:35.674913" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:15:35.675097" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:35.669667" elapsed="0.005800">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:35.667685" elapsed="0.007865">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:35.675729" elapsed="0.000077"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:35.675581" elapsed="0.000270"/>
</branch>
<status status="FAIL" start="2026-08-18T20:15:35.667667" elapsed="0.008207">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:35.676394" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:35.676559" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:15:35.676522" elapsed="0.000077"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:35.676504" elapsed="0.000116"/>
</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-08-18T20:15:35.676787" elapsed="0.000023"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:15:35.676861" 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-08-18T20:15:35.666047" elapsed="0.010925">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:35.677047" 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-08-18T20:15:35.527284" elapsed="0.149858">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:35.677406" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:35.677235" elapsed="0.000243"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:35.677218" elapsed="0.000283"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:35.677532" 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-08-18T20:15:35.521410" elapsed="0.156217">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:15:35.516339" elapsed="0.161352">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:15:35.516190" elapsed="0.161579">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:15:35.513913" elapsed="0.163951">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:35.513493" elapsed="0.164430">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:15:35.513471" elapsed="0.164482">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:35.678228" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:35.678017" elapsed="0.000268"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:35.678001" elapsed="0.000306"/>
</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-08-18T20:15:35.512099" elapsed="0.166284">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:45.696252" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:45.695898" elapsed="0.000431"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:45.695872" elapsed="0.000485"/>
</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-08-18T20:15:45.697985" 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-08-18T20:15:45.697506" elapsed="0.000507"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.698484" 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-08-18T20:15:45.698175" elapsed="0.000335"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:15:45.698559" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:15:45.698727" 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-08-18T20:15:45.697084" elapsed="0.001682"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.700126" 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-08-18T20:15:45.699820" elapsed="0.000337"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:15:45.700204" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:15:45.700351" 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-08-18T20:15:45.699453" elapsed="0.000923"/>
</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-08-18T20:15:45.787561" 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-08-18T20:15:45.786947" elapsed="0.000713"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:15:45.789524" 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-08-18T20:15:45.789256" elapsed="0.000349">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-08-18T20:15:45.789849" 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-08-18T20:15:45.788770" elapsed="0.001174"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.791566" 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-08-18T20:15:45.790929" elapsed="0.000735"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:15:45.793062" 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-08-18T20:15:45.793328" 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-08-18T20:15:45.792732" elapsed="0.000691"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.794864" 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-08-18T20:15:45.794455" elapsed="0.000516"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.796443" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:45.796181" elapsed="0.000306"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.796931" 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-08-18T20:15:45.796645" 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-08-18T20:15:45.797280" 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-08-18T20:15:45.797480" 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-08-18T20:15:45.797652" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:15:45.797147" elapsed="0.000561"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:15:45.797009" elapsed="0.000730"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:15:45.797895" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:15:45.798093" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:15:45.795683" elapsed="0.002459"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:45.795123" elapsed="0.003063"/>
</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-08-18T20:15:45.798521" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:45.798247" elapsed="0.000353"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:45.795070" elapsed="0.003590"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.800592" 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-08-18T20:15:45.799627" elapsed="0.001063"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:15:45.800793" 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-08-18T20:15:45.784713" elapsed="0.016376"/>
</kw>
<msg time="2026-08-18T20:15:45.801388" 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-08-18T20:15:45.734959" elapsed="0.066484"/>
</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-08-18T20:15:45.813238" 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-08-18T20:15:45.824871" 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-08-18T20:15:45.836512" 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-08-18T20:15:45.836703" 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-08-18T20:15:45.836889" 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-08-18T20:15:45.837297" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:45.837153" elapsed="0.000297"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:45.837138" elapsed="0.000338"/>
</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-08-18T20:15:45.837614" 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-08-18T20:15:45.837798" 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-08-18T20:15:45.837963" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:15:45.837107" elapsed="0.000908"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:15:45.836966" elapsed="0.001075"/>
</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-08-18T20:15:45.838184" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:45.838259" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:15:45.838375" 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-08-18T20:15:45.730901" elapsed="0.107519"/>
</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-08-18T20:15:45.839899" 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-08-18T20:15:45.839495" elapsed="0.000556">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:15:45.840256" 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-08-18T20:15:45.839159" elapsed="0.001122"/>
</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-08-18T20:15:45.840595" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:45.840352" elapsed="0.000331"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.841423" 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-08-18T20:15:45.840933" elapsed="0.000519"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:45.840710" elapsed="0.000778"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:45.840333" elapsed="0.001176"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.843934" 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-08-18T20:15:45.841658" elapsed="0.002323"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:15:45.844033" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:15:45.844197" 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-08-18T20:15:45.838823" elapsed="0.005403"/>
</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-08-18T20:15:45.845680" 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-08-18T20:15:45.845286" elapsed="0.000573">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:15:45.846077" 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-08-18T20:15:45.844934" elapsed="0.001169"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:15:45.846322" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:15:45.846180" elapsed="0.000202"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:45.846157" 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-08-18T20:15:45.846559" 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-08-18T20:15:45.846734" elapsed="0.000040"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:15:45.846821" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:15:45.848968" 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-08-18T20:15:45.844538" elapsed="0.004457"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.850417" 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-08-18T20:15:45.850149" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:45.850900" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:45.850610" elapsed="0.000334"/>
</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-08-18T20:15:45.859248" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:15:45.859387" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:15:45.859572" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:45.853031" elapsed="0.006944">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:45.851012" elapsed="0.009047">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:45.860241" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:45.860091" elapsed="0.000214"/>
</branch>
<status status="FAIL" start="2026-08-18T20:15:45.850993" elapsed="0.009334">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:45.860875" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:45.861039" elapsed="0.000013"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:15:45.861002" elapsed="0.000077"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:45.860984" elapsed="0.000116"/>
</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-08-18T20:15:45.861261" elapsed="0.000023"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:15:45.861334" 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-08-18T20:15:45.849334" elapsed="0.012109">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:45.861518" 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-08-18T20:15:45.709880" elapsed="0.151734">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:45.861919" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:45.861705" elapsed="0.000288"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:45.861688" elapsed="0.000330"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:45.862056" 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-08-18T20:15:45.704090" elapsed="0.158066">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:15:45.699061" elapsed="0.163160">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:15:45.698911" elapsed="0.163376">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:15:45.696689" elapsed="0.165691">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:45.696434" elapsed="0.166000">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:15:45.696415" elapsed="0.166056">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:45.862791" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:45.862537" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:45.862521" 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-08-18T20:15:45.695355" elapsed="0.167598">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:55.878674" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:55.878149" elapsed="0.000659"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:55.878110" elapsed="0.000739"/>
</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-08-18T20:15:55.881262" 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-08-18T20:15:55.880512" elapsed="0.000795"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:15:55.882014" 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-08-18T20:15:55.881551" elapsed="0.000494"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:15:55.882096" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:15:55.882275" 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-08-18T20:15:55.879920" elapsed="0.002380"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:55.883705" 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-08-18T20:15:55.883387" elapsed="0.000346"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:15:55.883795" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:15:55.883945" 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-08-18T20:15:55.883032" 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-08-18T20:15:55.973172" 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-08-18T20:15:55.972500" elapsed="0.000772"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:15:55.975138" 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-08-18T20:15:55.974859" elapsed="0.000365">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-08-18T20:15:55.975423" 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-08-18T20:15:55.974344" elapsed="0.001175"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:55.977305" 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-08-18T20:15:55.976596" elapsed="0.000806"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:15:55.978777" 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-08-18T20:15:55.979062" 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-08-18T20:15:55.978435" elapsed="0.000726"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:55.980649" 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-08-18T20:15:55.980243" 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-08-18T20:15:55.982322" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:55.982048" elapsed="0.000320"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:15:55.982828" 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-08-18T20:15:55.982532" elapsed="0.000323"/>
</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-08-18T20:15:55.983187" 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-08-18T20:15:55.983393" 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-08-18T20:15:55.983566" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:15:55.983051" elapsed="0.000572"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:15:55.982906" elapsed="0.000748"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:15:55.983698" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:15:55.983978" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:15:55.981535" elapsed="0.002495"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:55.980935" elapsed="0.003137"/>
</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-08-18T20:15:55.984398" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:55.984131" elapsed="0.000348"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:55.980875" elapsed="0.003659"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:15:55.988056" 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-08-18T20:15:55.985556" elapsed="0.002601"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:15:55.988244" 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-08-18T20:15:55.970244" elapsed="0.018305"/>
</kw>
<msg time="2026-08-18T20:15:55.988941" 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-08-18T20:15:55.919554" elapsed="0.069475"/>
</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-08-18T20:15:56.001029" 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-08-18T20:15:56.012927" elapsed="0.000053"/>
</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-08-18T20:15:56.024814" 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-08-18T20:15:56.025042" 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-08-18T20:15:56.025219" 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-08-18T20:15:56.025651" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:56.025502" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:56.025481" 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-08-18T20:15:56.026005" 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-08-18T20:15:56.026169" 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-08-18T20:15:56.026329" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:15:56.025445" elapsed="0.000937"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:15:56.025298" 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-08-18T20:15:56.026569" elapsed="0.000023"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:56.026649" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:15:56.026788" 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-08-18T20:15:55.915392" elapsed="0.111424"/>
</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-08-18T20:15:56.028287" 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-08-18T20:15:56.027890" 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-08-18T20:15:56.028661" 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-08-18T20:15:56.027512" elapsed="0.001176"/>
</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-08-18T20:15:56.029062" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:56.028784" elapsed="0.000374"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:15:56.029925" 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-08-18T20:15:56.029384" elapsed="0.000570"/>
</kw>
<status status="PASS" start="2026-08-18T20:15:56.029186" elapsed="0.000804"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:56.028762" elapsed="0.001250"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:15:56.032391" 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-08-18T20:15:56.030168" elapsed="0.002250"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:15:56.032469" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:15:56.032634" 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-08-18T20:15:56.027172" elapsed="0.005489"/>
</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-08-18T20:15:56.034125" 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-08-18T20:15:56.033716" 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-08-18T20:15:56.034475" 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-08-18T20:15:56.033372" elapsed="0.001128"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:15:56.034721" elapsed="0.000051"/>
</return>
<status status="PASS" start="2026-08-18T20:15:56.034574" elapsed="0.000234"/>
</branch>
<status status="PASS" start="2026-08-18T20:15:56.034554" elapsed="0.000279"/>
</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-08-18T20:15:56.034979" 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-08-18T20:15:56.035149" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:15:56.035214" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:15:56.037273" 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-08-18T20:15:56.033035" elapsed="0.004266"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:56.038820" 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-08-18T20:15:56.038514" elapsed="0.000354"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:15:56.039305" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:15:56.039028" elapsed="0.000323"/>
</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-08-18T20:15:56.046838" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:15:56.047043" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:15:56.047320" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:56.041469" elapsed="0.006467">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:56.039420" elapsed="0.008636">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:56.048326" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:56.048104" elapsed="0.000316"/>
</branch>
<status status="FAIL" start="2026-08-18T20:15:56.039400" elapsed="0.009054">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:56.049308" elapsed="0.000040"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:56.049549" elapsed="0.000020"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:15:56.049495" elapsed="0.000114"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:56.049468" 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-08-18T20:15:56.049876" elapsed="0.000035"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:15:56.049981" 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-08-18T20:15:56.037645" elapsed="0.012498">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:56.050254" 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-08-18T20:15:55.893654" elapsed="0.156736">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:56.050810" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:56.050521" elapsed="0.000404"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:56.050497" elapsed="0.000463"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:15:56.051006" 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-08-18T20:15:55.887679" elapsed="0.163467">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:15:55.882604" elapsed="0.168635">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:15:55.882453" elapsed="0.168865">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:15:55.879292" elapsed="0.172154">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:15:55.878930" elapsed="0.172596">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:15:55.878908" elapsed="0.172663">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:15:56.052001" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:15:56.051662" elapsed="0.000424"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:15:56.051639" elapsed="0.000479"/>
</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-08-18T20:15:55.877419" elapsed="0.174808">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:06.067138" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:06.066796" elapsed="0.000416"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:06.066769" elapsed="0.000468"/>
</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-08-18T20:16:06.068845" 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-08-18T20:16:06.068370" elapsed="0.000504"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:16:06.069380" 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-08-18T20:16:06.069035" elapsed="0.000372"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:16:06.069456" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:16:06.069624" 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-08-18T20:16:06.067949" elapsed="0.001700"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:06.071042" 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-08-18T20:16:06.070471" elapsed="0.000598"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:16:06.071116" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:16:06.071266" 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-08-18T20:16:06.070122" elapsed="0.001169"/>
</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-08-18T20:16:06.161455" 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-08-18T20:16:06.160735" elapsed="0.000827"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:16:06.163401" 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-08-18T20:16:06.163128" elapsed="0.000350">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-08-18T20:16:06.163672" 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-08-18T20:16:06.162618" elapsed="0.001163"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:06.165446" 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-08-18T20:16:06.164739" elapsed="0.000804"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:16:06.167026" 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-08-18T20:16:06.167314" 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-08-18T20:16:06.166669" elapsed="0.000742"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:06.168777" 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-08-18T20:16:06.168350" 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-08-18T20:16:06.170488" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:06.170225" elapsed="0.000307"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:16:06.170975" 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-08-18T20:16:06.170690" elapsed="0.000310"/>
</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-08-18T20:16:06.171334" 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-08-18T20:16:06.171534" 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-08-18T20:16:06.171703" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:16:06.171202" elapsed="0.000572"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:16:06.171057" elapsed="0.000749"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:16:06.171856" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:16:06.172047" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:16:06.169685" elapsed="0.002410"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:06.169053" elapsed="0.003083"/>
</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-08-18T20:16:06.172458" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:06.172194" elapsed="0.000343"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:06.168995" elapsed="0.003595"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:16:06.174442" 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-08-18T20:16:06.173557" elapsed="0.000982"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:16:06.174622" 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-08-18T20:16:06.158517" elapsed="0.016415"/>
</kw>
<msg time="2026-08-18T20:16:06.175243" 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-08-18T20:16:06.106505" elapsed="0.068795"/>
</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-08-18T20:16:06.187519" 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-08-18T20:16:06.199323" 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-08-18T20:16:06.211232" 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-08-18T20:16:06.211426" 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-08-18T20:16:06.211597" 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-08-18T20:16:06.212042" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:06.211898" elapsed="0.000299"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:06.211882" elapsed="0.000341"/>
</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-08-18T20:16:06.212362" 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-08-18T20:16:06.212526" 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-08-18T20:16:06.212687" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:16:06.211850" elapsed="0.000890"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:16:06.211672" elapsed="0.001109"/>
</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-08-18T20:16:06.212932" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:06.213007" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:16:06.213126" 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-08-18T20:16:06.102322" elapsed="0.110829"/>
</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-08-18T20:16:06.214673" 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-08-18T20:16:06.214188" elapsed="0.000647">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:16:06.215044" 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-08-18T20:16:06.213851" elapsed="0.001219"/>
</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-08-18T20:16:06.215384" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:06.215141" elapsed="0.000332"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:06.216220" 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-08-18T20:16:06.215694" elapsed="0.000553"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:06.215500" elapsed="0.000783"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:06.215123" elapsed="0.001181"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:06.218683" 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-08-18T20:16:06.216451" elapsed="0.002259"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:16:06.218774" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:16:06.218929" 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-08-18T20:16:06.213513" elapsed="0.005441"/>
</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-08-18T20:16:06.220324" 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-08-18T20:16:06.219945" elapsed="0.000518">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:16:06.220669" 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-08-18T20:16:06.219572" elapsed="0.001123"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:16:06.220960" elapsed="0.000025"/>
</return>
<status status="PASS" start="2026-08-18T20:16:06.220822" elapsed="0.000197"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:06.220801" 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-08-18T20:16:06.221186" 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-08-18T20:16:06.221364" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:16:06.221431" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:16:06.223405" 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-08-18T20:16:06.219253" elapsed="0.004179"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:06.224906" 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-08-18T20:16:06.224602" elapsed="0.000350"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:06.225386" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:06.225101" elapsed="0.000329"/>
</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-08-18T20:16:06.233997" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:16:06.234199" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:16:06.234471" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:06.227471" elapsed="0.007543">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:06.225497" elapsed="0.009632">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:06.235381" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:06.235172" elapsed="0.000305"/>
</branch>
<status status="FAIL" start="2026-08-18T20:16:06.225479" elapsed="0.010030">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:06.236243" elapsed="0.000038"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:06.236475" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:16:06.236424" elapsed="0.000108"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:06.236400" elapsed="0.000161"/>
</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-08-18T20:16:06.236782" elapsed="0.000032"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:16:06.236881" 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-08-18T20:16:06.223798" elapsed="0.013236">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:06.237138" elapsed="0.000021"/>
</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-08-18T20:16:06.080798" elapsed="0.156474">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:06.237668" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:06.237423" elapsed="0.000385"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:06.237399" elapsed="0.000443"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:06.237886" 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-08-18T20:16:06.075016" elapsed="0.163019">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:16:06.069956" elapsed="0.168175">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:16:06.069809" elapsed="0.168406">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:16:06.067543" elapsed="0.170809">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:06.067293" elapsed="0.171142">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:16:06.067277" elapsed="0.171203">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:06.238917" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:06.238576" elapsed="0.000425"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:06.238552" elapsed="0.000483"/>
</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-08-18T20:16:06.066250" elapsed="0.172900">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:16.254308" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:16.253953" elapsed="0.000431"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:16.253926" elapsed="0.000486"/>
</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-08-18T20:16:16.256023" 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-08-18T20:16:16.255547" elapsed="0.000505"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:16:16.256530" 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-08-18T20:16:16.256218" elapsed="0.000338"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:16:16.256622" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:16:16.256813" 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-08-18T20:16:16.255124" 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-08-18T20:16:16.258251" 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-08-18T20:16:16.257940" elapsed="0.000338"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:16:16.258325" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:16:16.258476" 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-08-18T20:16:16.257316" elapsed="0.001185"/>
</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-08-18T20:16:16.346863" 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-08-18T20:16:16.346133" elapsed="0.000833"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:16:16.348706" 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-08-18T20:16:16.348432" elapsed="0.000461">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-08-18T20:16:16.349089" 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-08-18T20:16:16.347930" elapsed="0.001253"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:16.350885" 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-08-18T20:16:16.350146" elapsed="0.000837"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:16:16.352234" 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-08-18T20:16:16.352486" 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-08-18T20:16:16.351922" elapsed="0.000660"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:16.354057" 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-08-18T20:16:16.353649" elapsed="0.000514"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:16.355638" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:16.355376" elapsed="0.000306"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:16:16.356127" 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-08-18T20:16:16.355855" 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-08-18T20:16:16.356469" 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-08-18T20:16:16.356689" 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-08-18T20:16:16.356977" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:16:16.356338" elapsed="0.000697"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:16:16.356202" elapsed="0.000865"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:16:16.357113" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:16:16.357296" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:16:16.355008" elapsed="0.002336"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:16.354313" 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-08-18T20:16:16.357706" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:16.357441" elapsed="0.000360"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:16.354262" elapsed="0.003592"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:16:16.359536" 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-08-18T20:16:16.358818" elapsed="0.000818"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:16:16.359720" elapsed="0.000074"/>
</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-08-18T20:16:16.343731" elapsed="0.016317"/>
</kw>
<msg time="2026-08-18T20:16:16.360346" 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-08-18T20:16:16.293417" elapsed="0.066985"/>
</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-08-18T20:16:16.372498" 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-08-18T20:16:16.384388" 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-08-18T20:16:16.396119" 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-08-18T20:16:16.396315" 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-08-18T20:16:16.396489" 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-08-18T20:16:16.396950" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:16.396803" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:16.396787" elapsed="0.000341"/>
</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-08-18T20:16:16.397267" 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-08-18T20:16:16.397444" 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-08-18T20:16:16.397607" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:16:16.396736" elapsed="0.000922"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:16:16.396564" 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-08-18T20:16:16.397849" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:16.397926" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:16:16.398041" 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-08-18T20:16:16.289386" elapsed="0.108684"/>
</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-08-18T20:16:16.399502" 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-08-18T20:16:16.399116" elapsed="0.000526">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:16:16.399868" 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-08-18T20:16:16.398770" elapsed="0.001123"/>
</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-08-18T20:16:16.400205" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:16.399964" elapsed="0.000349"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:16.401076" 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-08-18T20:16:16.400539" elapsed="0.000563"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:16.400341" elapsed="0.000798"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:16.399946" elapsed="0.001214"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:16.403482" 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-08-18T20:16:16.401309" elapsed="0.002199"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:16:16.403560" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:16:16.403713" 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-08-18T20:16:16.398424" elapsed="0.005313"/>
</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-08-18T20:16:16.405192" 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-08-18T20:16:16.404809" 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-08-18T20:16:16.405540" 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-08-18T20:16:16.404418" elapsed="0.001149"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:16:16.405800" elapsed="0.000027"/>
</return>
<status status="PASS" start="2026-08-18T20:16:16.405640" elapsed="0.000221"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:16.405621" elapsed="0.000263"/>
</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-08-18T20:16:16.406035" 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-08-18T20:16:16.406211" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:16:16.406277" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:16:16.408283" 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-08-18T20:16:16.404091" elapsed="0.004218"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:16.409838" 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-08-18T20:16:16.409544" elapsed="0.000341"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:16.410311" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:16.410041" 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-08-18T20:16:16.416999" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:16:16.417137" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:16:16.417322" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:16.412402" elapsed="0.005286">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:16.410422" elapsed="0.007407">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:16.418014" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:16.417863" elapsed="0.000215"/>
</branch>
<status status="FAIL" start="2026-08-18T20:16:16.410404" elapsed="0.007698">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:16.418606" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:16.418793" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:16:16.418734" elapsed="0.000101"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:16.418716" elapsed="0.000140"/>
</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-08-18T20:16:16.418997" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:16:16.419067" 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-08-18T20:16:16.408676" elapsed="0.010499">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:16.419251" 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-08-18T20:16:16.268143" elapsed="0.151205">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:16.419611" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:16.419439" elapsed="0.000243"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:16.419423" elapsed="0.000282"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:16.419736" elapsed="0.000033"/>
</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-08-18T20:16:16.262246" elapsed="0.157608">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:16:16.257147" elapsed="0.162772">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:16:16.256996" elapsed="0.162979">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:16:16.254722" elapsed="0.165345">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:16.254468" elapsed="0.165652">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:16:16.254453" elapsed="0.165696">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:16.420423" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:16.420213" elapsed="0.000265"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:16.420197" elapsed="0.000304"/>
</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-08-18T20:16:16.253405" elapsed="0.167173">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:26.435471" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:26.435018" elapsed="0.000553"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:26.434984" elapsed="0.000624"/>
</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-08-18T20:16:26.437806" 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-08-18T20:16:26.437184" elapsed="0.000652"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.438302" 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-08-18T20:16:26.437999" elapsed="0.000329"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:16:26.438376" elapsed="0.000048"/>
</return>
<msg time="2026-08-18T20:16:26.438554" 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-08-18T20:16:26.436572" elapsed="0.002006"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.439980" 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-08-18T20:16:26.439663" elapsed="0.000344"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:16:26.440053" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:16:26.440201" 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-08-18T20:16:26.439064" elapsed="0.001163"/>
</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-08-18T20:16:26.527373" 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-08-18T20:16:26.526623" elapsed="0.000849"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:16:26.529311" 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-08-18T20:16:26.529048" elapsed="0.000341">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-08-18T20:16:26.529581" 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-08-18T20:16:26.528432" elapsed="0.001243"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.531387" 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-08-18T20:16:26.530636" elapsed="0.000848"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:16:26.532731" 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-08-18T20:16:26.533106" 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-08-18T20:16:26.532424" elapsed="0.000777"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.534521" 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-08-18T20:16:26.534134" elapsed="0.000498"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.536088" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:26.535825" elapsed="0.000307"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.536553" 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-08-18T20:16:26.536288" elapsed="0.000290"/>
</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-08-18T20:16:26.537024" 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-08-18T20:16:26.537228" 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-08-18T20:16:26.537398" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:16:26.536886" elapsed="0.000568"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:16:26.536625" elapsed="0.000861"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:16:26.537531" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:16:26.537712" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:16:26.535446" elapsed="0.002328"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:26.534891" elapsed="0.002926"/>
</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-08-18T20:16:26.538140" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:26.537874" elapsed="0.000343"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:26.534731" elapsed="0.003539"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.539968" 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-08-18T20:16:26.539237" elapsed="0.000828"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:16:26.540147" 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-08-18T20:16:26.524378" elapsed="0.016062"/>
</kw>
<msg time="2026-08-18T20:16:26.540728" 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-08-18T20:16:26.474812" elapsed="0.065994"/>
</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-08-18T20:16:26.552763" 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-08-18T20:16:26.564421" 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-08-18T20:16:26.576118" 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-08-18T20:16:26.576307" 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-08-18T20:16:26.576476" 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-08-18T20:16:26.576911" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:26.576736" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:26.576721" elapsed="0.000370"/>
</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-08-18T20:16:26.577234" 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-08-18T20:16:26.577396" 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-08-18T20:16:26.577557" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:16:26.576691" elapsed="0.000918"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:16:26.576550" elapsed="0.001084"/>
</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-08-18T20:16:26.577791" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:26.577867" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:16:26.577981" 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-08-18T20:16:26.470800" elapsed="0.107206"/>
</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-08-18T20:16:26.579420" 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-08-18T20:16:26.579042" elapsed="0.000516">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:16:26.579783" 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-08-18T20:16:26.578679" elapsed="0.001130"/>
</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-08-18T20:16:26.580123" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:26.579880" elapsed="0.000329"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.580964" 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-08-18T20:16:26.580428" elapsed="0.000563"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:26.580236" elapsed="0.000791"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:26.579862" elapsed="0.001186"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.583374" 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-08-18T20:16:26.581195" elapsed="0.002205"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:16:26.583450" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:16:26.583602" 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-08-18T20:16:26.578353" elapsed="0.005273"/>
</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-08-18T20:16:26.585052" 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-08-18T20:16:26.584628" elapsed="0.000562">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:16:26.585394" 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-08-18T20:16:26.584297" elapsed="0.001123"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:16:26.585624" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:16:26.585491" elapsed="0.000192"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:26.585472" elapsed="0.000234"/>
</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-08-18T20:16:26.585866" 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-08-18T20:16:26.586036" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:16:26.586099" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:16:26.588068" 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-08-18T20:16:26.583981" elapsed="0.004113"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.589550" 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-08-18T20:16:26.589281" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:26.590045" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:26.589782" 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-08-18T20:16:26.597399" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:16:26.597537" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:16:26.597720" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:26.592132" elapsed="0.005978">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:26.590154" elapsed="0.008039">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:26.598381" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:26.598231" elapsed="0.000217"/>
</branch>
<status status="FAIL" start="2026-08-18T20:16:26.590136" elapsed="0.008335">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:26.599020" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:26.599184" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:16:26.599147" elapsed="0.000077"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:26.599129" elapsed="0.000116"/>
</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-08-18T20:16:26.599385" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:16:26.599454" 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-08-18T20:16:26.588429" elapsed="0.011132">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:26.599636" 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-08-18T20:16:26.449649" elapsed="0.150082">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:26.600019" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:26.599846" elapsed="0.000244"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:26.599829" elapsed="0.000284"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:26.600144" 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-08-18T20:16:26.443913" elapsed="0.156327">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:16:26.438898" elapsed="0.161406">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:16:26.438734" elapsed="0.161626">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:16:26.436050" elapsed="0.164401">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:26.435684" elapsed="0.164820">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:16:26.435662" elapsed="0.164872">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:26.600843" elapsed="0.000059"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:26.600597" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:26.600581" elapsed="0.000378"/>
</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-08-18T20:16:26.434303" elapsed="0.166733">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:36.617169" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:36.616735" elapsed="0.000552"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:36.616669" elapsed="0.000648"/>
</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-08-18T20:16:36.619262" 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-08-18T20:16:36.618687" elapsed="0.000608"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.619903" 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-08-18T20:16:36.619521" elapsed="0.000409"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:16:36.619981" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:16:36.620189" 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-08-18T20:16:36.618214" elapsed="0.002004"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.621848" 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-08-18T20:16:36.621516" elapsed="0.000359"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:16:36.621922" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:16:36.622073" 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-08-18T20:16:36.621091" elapsed="0.001007"/>
</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-08-18T20:16:36.718076" 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-08-18T20:16:36.717293" elapsed="0.000890"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:16:36.720131" 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-08-18T20:16:36.719849" 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-08-18T20:16:36.720411" 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-08-18T20:16:36.719175" elapsed="0.001377"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.722415" 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-08-18T20:16:36.721588" elapsed="0.000926"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:16:36.723901" 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-08-18T20:16:36.724182" 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-08-18T20:16:36.723487" elapsed="0.000791"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.725650" 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-08-18T20:16:36.725252" elapsed="0.000612"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.727459" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:36.727143" elapsed="0.000372"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.728210" 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-08-18T20:16:36.727721" elapsed="0.000516"/>
</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-08-18T20:16:36.728649" 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-08-18T20:16:36.728907" elapsed="0.002003"/>
</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-08-18T20:16:36.731116" elapsed="0.000025"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:16:36.728477" elapsed="0.002703"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:16:36.728329" elapsed="0.002884"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:16:36.731261" elapsed="0.000034"/>
</return>
<msg time="2026-08-18T20:16:36.731458" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:16:36.726716" elapsed="0.004816"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:36.726029" elapsed="0.005546"/>
</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-08-18T20:16:36.731932" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:36.731634" elapsed="0.000379"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:36.725974" elapsed="0.006094"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.733820" 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-08-18T20:16:36.733074" elapsed="0.000846"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:16:36.734004" 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-08-18T20:16:36.714901" elapsed="0.019402"/>
</kw>
<msg time="2026-08-18T20:16:36.734655" 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-08-18T20:16:36.659033" elapsed="0.075680"/>
</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-08-18T20:16:36.747202" 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-08-18T20:16:36.759462" 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-08-18T20:16:36.771710" elapsed="0.000078"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-08-18T20:16:36.771957" 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-08-18T20:16:36.772130" 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-08-18T20:16:36.772538" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:36.772396" elapsed="0.000294"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:36.772381" elapsed="0.000335"/>
</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-08-18T20:16:36.772877" 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-08-18T20:16:36.773044" 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-08-18T20:16:36.773249" elapsed="0.000023"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:16:36.772350" elapsed="0.000955"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:16:36.772206" elapsed="0.001125"/>
</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-08-18T20:16:36.773475" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:36.773551" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:16:36.773669" 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-08-18T20:16:36.654928" elapsed="0.118766"/>
</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-08-18T20:16:36.775169" 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-08-18T20:16:36.774733" elapsed="0.000690">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:16:36.775684" 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-08-18T20:16:36.774389" elapsed="0.001328"/>
</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-08-18T20:16:36.776152" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:36.775860" elapsed="0.000383"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.777142" 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-08-18T20:16:36.776535" elapsed="0.000635"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:36.776270" elapsed="0.000934"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:36.775803" elapsed="0.001423"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.779717" 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-08-18T20:16:36.777414" elapsed="0.002379"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:16:36.779848" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:16:36.780004" 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-08-18T20:16:36.774064" elapsed="0.005965"/>
</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-08-18T20:16:36.781463" 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-08-18T20:16:36.781082" elapsed="0.000521">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:16:36.781832" 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-08-18T20:16:36.780643" elapsed="0.001215"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:16:36.782067" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:16:36.781931" elapsed="0.000195"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:36.781911" 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-08-18T20:16:36.782293" 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-08-18T20:16:36.782462" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:16:36.782526" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:16:36.836415" 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-08-18T20:16:36.780323" elapsed="0.056134"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.838256" 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-08-18T20:16:36.837920" elapsed="0.000388"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:36.838795" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:36.838504" elapsed="0.000337"/>
</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-08-18T20:16:36.847647" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:16:36.847869" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:16:36.848163" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:36.841213" elapsed="0.007470">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:36.838921" elapsed="0.009958">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:36.849144" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:36.848930" elapsed="0.000301"/>
</branch>
<status status="FAIL" start="2026-08-18T20:16:36.838897" elapsed="0.010367">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:36.850085" elapsed="0.000039"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:36.850350" elapsed="0.000021"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:16:36.850296" elapsed="0.000116"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:36.850270" elapsed="0.000171"/>
</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-08-18T20:16:36.850638" elapsed="0.000030"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:16:36.850739" elapsed="0.000047"/>
</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-08-18T20:16:36.836977" elapsed="0.013944">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:36.851026" elapsed="0.000021"/>
</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-08-18T20:16:36.632099" elapsed="0.219060">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:36.851542" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:36.851285" elapsed="0.000359"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:36.851263" elapsed="0.000413"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:36.851719" elapsed="0.000018"/>
</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-08-18T20:16:36.625848" elapsed="0.226041">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:16:36.620555" elapsed="0.231427">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:16:36.620397" elapsed="0.231666">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:16:36.617678" elapsed="0.234513">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:36.617375" elapsed="0.234891">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:16:36.617359" elapsed="0.234948">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:36.852691" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:36.852396" elapsed="0.000455"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:36.852374" elapsed="0.000513"/>
</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-08-18T20:16:36.616118" elapsed="0.236880">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:46.870230" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:46.869738" elapsed="0.000603"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:46.869703" 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-08-18T20:16:46.872606" 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-08-18T20:16:46.871993" elapsed="0.000653"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:16:46.873374" 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-08-18T20:16:46.872896" elapsed="0.000517"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:16:46.873479" elapsed="0.000052"/>
</return>
<msg time="2026-08-18T20:16:46.873710" 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-08-18T20:16:46.871376" elapsed="0.002389"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:46.875017" 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-08-18T20:16:46.874676" elapsed="0.000371"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:16:46.875093" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:16:46.875253" 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-08-18T20:16:46.874314" elapsed="0.000965"/>
</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-08-18T20:16:46.963993" 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-08-18T20:16:46.963164" elapsed="0.000942"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:16:46.966033" 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-08-18T20:16:46.965639" elapsed="0.000474">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-08-18T20:16:46.966313" 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-08-18T20:16:46.965106" elapsed="0.001303"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:46.968194" 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-08-18T20:16:46.967403" elapsed="0.000889"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:16:46.969575" 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-08-18T20:16:46.969947" 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-08-18T20:16:46.969242" elapsed="0.000801"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:46.971436" 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-08-18T20:16:46.971021" elapsed="0.000536"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:46.973200" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:46.972899" elapsed="0.000361"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:16:46.973727" 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-08-18T20:16:46.973436" elapsed="0.000433"/>
</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-08-18T20:16:46.974219" 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-08-18T20:16:46.974425" 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-08-18T20:16:46.974597" elapsed="0.000020"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:16:46.974075" elapsed="0.000577"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:16:46.973925" elapsed="0.000758"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:16:46.974729" elapsed="0.000049"/>
</return>
<msg time="2026-08-18T20:16:46.974937" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:16:46.972451" elapsed="0.002535"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:46.971718" elapsed="0.003310"/>
</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-08-18T20:16:46.975355" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:46.975085" elapsed="0.000349"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:46.971658" elapsed="0.003830"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:16:46.977215" 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-08-18T20:16:46.976484" elapsed="0.000858"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:16:46.977426" elapsed="0.000061"/>
</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-08-18T20:16:46.960971" elapsed="0.016830"/>
</kw>
<msg time="2026-08-18T20:16:46.978116" 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-08-18T20:16:46.910131" elapsed="0.068042"/>
</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-08-18T20:16:46.990327" 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-08-18T20:16:47.002343" 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-08-18T20:16:47.014337" 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-08-18T20:16:47.014534" 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-08-18T20:16:47.014716" 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-08-18T20:16:47.015160" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:47.015013" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:47.014996" 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-08-18T20:16:47.015485" elapsed="0.000027"/>
</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-08-18T20:16:47.015674" 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-08-18T20:16:47.015867" elapsed="0.000025"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:16:47.014965" elapsed="0.000961"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:16:47.014812" elapsed="0.001140"/>
</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-08-18T20:16:47.016100" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:47.016175" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:16:47.016297" 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-08-18T20:16:46.906075" elapsed="0.110249"/>
</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-08-18T20:16:47.017824" 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-08-18T20:16:47.017400" elapsed="0.000579">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:16:47.018188" 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-08-18T20:16:47.017046" elapsed="0.001168"/>
</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-08-18T20:16:47.018538" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:47.018286" elapsed="0.000346"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:47.019388" 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-08-18T20:16:47.018881" elapsed="0.000534"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:47.018659" elapsed="0.000799"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:47.018267" elapsed="0.001214"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:47.021933" 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-08-18T20:16:47.019649" elapsed="0.002311"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:16:47.022011" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:16:47.022173" 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-08-18T20:16:47.016690" elapsed="0.005509"/>
</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-08-18T20:16:47.023599" 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-08-18T20:16:47.023202" elapsed="0.000538">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:16:47.024011" 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-08-18T20:16:47.022851" elapsed="0.001186"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:16:47.024247" elapsed="0.000027"/>
</return>
<status status="PASS" start="2026-08-18T20:16:47.024111" elapsed="0.000197"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:47.024091" 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-08-18T20:16:47.024478" elapsed="0.000021"/>
</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-08-18T20:16:47.024647" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:16:47.024713" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:16:47.026760" 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-08-18T20:16:47.022500" elapsed="0.004290"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:47.028272" 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-08-18T20:16:47.027996" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:47.028732" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:47.028469" elapsed="0.000335"/>
</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-08-18T20:16:47.036140" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:16:47.036282" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:16:47.036468" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:47.030891" elapsed="0.005998">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:47.028874" elapsed="0.008101">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:47.037163" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:47.037008" elapsed="0.000221"/>
</branch>
<status status="FAIL" start="2026-08-18T20:16:47.028855" elapsed="0.008415">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:47.037822" elapsed="0.000029"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:47.038006" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:16:47.037965" elapsed="0.000084"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:47.037945" 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-08-18T20:16:47.038222" elapsed="0.000023"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:16:47.038295" 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-08-18T20:16:47.027133" elapsed="0.011273">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:47.038483" 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-08-18T20:16:46.884830" elapsed="0.153750">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:47.038869" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:47.038673" elapsed="0.000270"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:47.038656" elapsed="0.000311"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:47.038997" 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-08-18T20:16:46.879118" elapsed="0.159977">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:16:46.874144" elapsed="0.165018">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:16:46.873942" elapsed="0.165284">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:16:46.870841" elapsed="0.168487">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:46.870460" elapsed="0.168927">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:16:46.870436" elapsed="0.168989">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:47.039706" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:47.039492" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:47.039476" 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-08-18T20:16:46.868981" elapsed="0.170928">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:57.057953" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:57.057591" elapsed="0.000438"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:57.057566" elapsed="0.000491"/>
</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-08-18T20:16:57.059652" 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-08-18T20:16:57.059195" elapsed="0.000485"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:16:57.060161" 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-08-18T20:16:57.059858" elapsed="0.000329"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:16:57.060235" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:16:57.060401" 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-08-18T20:16:57.058772" elapsed="0.001654"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:57.061794" 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-08-18T20:16:57.061478" elapsed="0.000343"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:16:57.061867" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:16:57.062016" 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-08-18T20:16:57.061130" elapsed="0.000911"/>
</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-08-18T20:16:57.149729" 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-08-18T20:16:57.149107" elapsed="0.000849"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:16:57.151691" 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-08-18T20:16:57.151427" elapsed="0.000451">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-08-18T20:16:57.152075" 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-08-18T20:16:57.150942" elapsed="0.001227"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:57.153885" 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-08-18T20:16:57.153142" elapsed="0.000841"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:16:57.155265" 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-08-18T20:16:57.155532" 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-08-18T20:16:57.154955" elapsed="0.000672"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:57.157066" 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-08-18T20:16:57.156657" 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-08-18T20:16:57.158657" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:57.158384" elapsed="0.000318"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:16:57.159145" 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-08-18T20:16:57.158877" elapsed="0.000294"/>
</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-08-18T20:16:57.159493" 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-08-18T20:16:57.159959" 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-08-18T20:16:57.160139" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:16:57.159362" elapsed="0.000835"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:16:57.159225" elapsed="0.001004"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:16:57.160275" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:16:57.160468" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:16:57.158016" elapsed="0.002501"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:57.157327" elapsed="0.003231"/>
</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-08-18T20:16:57.160901" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:57.160616" elapsed="0.000364"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:57.157274" elapsed="0.003759"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:16:57.162716" 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-08-18T20:16:57.161985" elapsed="0.000850"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:16:57.162918" 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-08-18T20:16:57.146821" elapsed="0.016390"/>
</kw>
<msg time="2026-08-18T20:16:57.163520" 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-08-18T20:16:57.096985" elapsed="0.066590"/>
</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-08-18T20:16:57.175395" 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/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-08-18T20:16:57.187208" 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-08-18T20:16:57.198931" 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-08-18T20:16:57.199122" 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-08-18T20:16:57.199295" 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-08-18T20:16:57.199705" elapsed="0.000068"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:57.199562" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:57.199546" elapsed="0.000362"/>
</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-08-18T20:16:57.200048" 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-08-18T20:16:57.200213" elapsed="0.000019"/>
</kw>
<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-08-18T20:16:57.200373" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:16:57.199515" elapsed="0.000910"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:16:57.199372" elapsed="0.001079"/>
</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-08-18T20:16:57.200593" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:57.200668" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:16:57.200800" 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-08-18T20:16:57.092951" elapsed="0.107876"/>
</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-08-18T20:16:57.202237" 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-08-18T20:16:57.201859" elapsed="0.000518">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:16:57.202605" 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-08-18T20:16:57.201501" elapsed="0.001132"/>
</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-08-18T20:16:57.202972" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:57.202705" elapsed="0.000356"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:16:57.203792" 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-08-18T20:16:57.203278" elapsed="0.000545"/>
</kw>
<status status="PASS" start="2026-08-18T20:16:57.203087" elapsed="0.000772"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:57.202687" elapsed="0.001194"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:16:57.206216" 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-08-18T20:16:57.204030" elapsed="0.002212"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:16:57.206294" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:16:57.206446" 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-08-18T20:16:57.201177" elapsed="0.005295"/>
</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-08-18T20:16:57.207906" 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-08-18T20:16:57.207503" 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-08-18T20:16:57.208253" 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-08-18T20:16:57.207166" elapsed="0.001113"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:16:57.208485" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:16:57.208351" elapsed="0.000193"/>
</branch>
<status status="PASS" start="2026-08-18T20:16:57.208332" elapsed="0.000235"/>
</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-08-18T20:16:57.208709" 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-08-18T20:16:57.208896" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:16:57.208961" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:16:57.211003" 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-08-18T20:16:57.206845" elapsed="0.004184"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:57.212447" 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-08-18T20:16:57.212179" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:16:57.212936" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:16:57.212641" 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-08-18T20:16:57.221491" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:16:57.221682" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:16:57.221973" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:57.215046" elapsed="0.007430">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:57.213047" elapsed="0.009576">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:57.222943" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:57.222683" elapsed="0.000352"/>
</branch>
<status status="FAIL" start="2026-08-18T20:16:57.213029" elapsed="0.010038">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:57.223802" elapsed="0.000038"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:57.224035" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:16:57.223984" elapsed="0.000108"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:57.223959" elapsed="0.000163"/>
</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-08-18T20:16:57.224317" elapsed="0.000030"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:16:57.224414" 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-08-18T20:16:57.211367" elapsed="0.013198">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:57.224670" elapsed="0.000021"/>
</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-08-18T20:16:57.071704" elapsed="0.153148">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:57.225222" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:57.224983" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:57.224960" elapsed="0.000394"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:16:57.225397" 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-08-18T20:16:57.065769" elapsed="0.159761">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:16:57.060717" elapsed="0.164905">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:16:57.060572" elapsed="0.165128">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:16:57.058366" elapsed="0.167491">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:16:57.058114" elapsed="0.167821">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:16:57.058098" elapsed="0.167878">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:16:57.226359" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:16:57.226066" elapsed="0.000370"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:16:57.226044" elapsed="0.000425"/>
</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-08-18T20:16:57.057082" elapsed="0.169494">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:07.242320" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:07.241980" elapsed="0.000418"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:07.241954" elapsed="0.000470"/>
</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-08-18T20:17:07.244204" 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-08-18T20:17:07.243709" elapsed="0.000525"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.244700" 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-08-18T20:17:07.244396" elapsed="0.000331"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:17:07.244790" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:17:07.244958" 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-08-18T20:17:07.243233" elapsed="0.001751"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.246384" 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-08-18T20:17:07.246083" elapsed="0.000329"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:17:07.246458" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:17:07.246608" 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-08-18T20:17:07.245716" elapsed="0.000917"/>
</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-08-18T20:17:07.333615" 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-08-18T20:17:07.333001" elapsed="0.000713"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:17:07.335492" 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-08-18T20:17:07.335209" 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-08-18T20:17:07.336032" 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-08-18T20:17:07.334691" elapsed="0.001438"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.337730" 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-08-18T20:17:07.337088" elapsed="0.000766"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:17:07.339284" 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-08-18T20:17:07.339555" 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-08-18T20:17:07.338971" elapsed="0.000690"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.341010" 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-08-18T20:17:07.340602" elapsed="0.000516"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.342493" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:07.342231" elapsed="0.000307"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.343134" 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-08-18T20:17:07.342696" elapsed="0.000464"/>
</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-08-18T20:17:07.343476" 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-08-18T20:17:07.343699" 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-08-18T20:17:07.343912" elapsed="0.000163"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:17:07.343344" elapsed="0.000772"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:17:07.343210" elapsed="0.000939"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:17:07.344194" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:17:07.344382" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:17:07.341866" elapsed="0.002564"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:07.341270" elapsed="0.003201"/>
</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-08-18T20:17:07.344990" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:07.344527" elapsed="0.000544"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:07.341218" elapsed="0.003906"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.346779" 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-08-18T20:17:07.346064" elapsed="0.000814"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:17:07.346961" 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-08-18T20:17:07.330631" elapsed="0.016624"/>
</kw>
<msg time="2026-08-18T20:17:07.347553" 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-08-18T20:17:07.281087" elapsed="0.066523"/>
</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-08-18T20:17:07.359433" 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-08-18T20:17:07.371096" 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-08-18T20:17:07.382859" 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-08-18T20:17:07.383051" 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-08-18T20:17:07.383223" 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-08-18T20:17:07.383640" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:07.383485" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:07.383470" elapsed="0.000380"/>
</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-08-18T20:17:07.383990" 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-08-18T20:17:07.384154" 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-08-18T20:17:07.384314" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:17:07.383439" elapsed="0.000926"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:17:07.383297" elapsed="0.001094"/>
</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-08-18T20:17:07.384534" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:07.384609" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:17:07.384725" 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-08-18T20:17:07.277084" elapsed="0.107680"/>
</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-08-18T20:17:07.386239" 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-08-18T20:17:07.385794" elapsed="0.000585">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:17:07.386582" 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-08-18T20:17:07.385441" 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-08-18T20:17:07.386934" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:07.386677" elapsed="0.000346"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.387873" 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-08-18T20:17:07.387243" elapsed="0.000662"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:07.387049" elapsed="0.000892"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:07.386659" elapsed="0.001304"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.390387" 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-08-18T20:17:07.388112" elapsed="0.002301"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:17:07.390464" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:17:07.390616" 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-08-18T20:17:07.385121" 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-08-18T20:17:07.392022" 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-08-18T20:17:07.391621" elapsed="0.000541">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:17:07.392367" 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-08-18T20:17:07.391277" elapsed="0.001116"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:17:07.392599" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:17:07.392464" elapsed="0.000194"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:07.392446" elapsed="0.000236"/>
</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-08-18T20:17:07.392852" 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-08-18T20:17:07.393022" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:17:07.393086" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:17:07.395077" 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-08-18T20:17:07.390958" elapsed="0.004145"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.396536" 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-08-18T20:17:07.396265" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:07.397026" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:07.396729" elapsed="0.000341"/>
</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-08-18T20:17:07.403675" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:17:07.403831" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:17:07.404017" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:07.399135" elapsed="0.005263">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:07.397136" elapsed="0.007345">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:07.404667" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:07.404513" elapsed="0.000217"/>
</branch>
<status status="FAIL" start="2026-08-18T20:17:07.397118" elapsed="0.007662">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:07.405286" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:07.405451" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:17:07.405414" elapsed="0.000078"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:07.405396" 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-08-18T20:17:07.405654" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:17:07.405723" 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-08-18T20:17:07.395442" elapsed="0.010410">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:07.405928" 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-08-18T20:17:07.256151" elapsed="0.149873">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:07.406288" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:07.406114" elapsed="0.000245"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:07.406098" elapsed="0.000283"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:07.406413" 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-08-18T20:17:07.250341" elapsed="0.156168">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:17:07.245309" elapsed="0.161264">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:17:07.245161" elapsed="0.161473">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:17:07.242732" elapsed="0.163992">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:07.242481" elapsed="0.164314">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:17:07.242464" elapsed="0.164362">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:07.407101" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:07.406890" elapsed="0.000267"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:07.406874" elapsed="0.000306"/>
</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-08-18T20:17:07.241416" elapsed="0.165842">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:17.424686" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:17.424338" elapsed="0.000439"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:17.424313" elapsed="0.000491"/>
</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-08-18T20:17:17.426390" 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-08-18T20:17:17.425924" elapsed="0.000495"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.426900" 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-08-18T20:17:17.426580" elapsed="0.000347"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:17:17.426975" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:17:17.427141" 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-08-18T20:17:17.425484" elapsed="0.001682"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.428533" 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-08-18T20:17:17.428233" elapsed="0.000337"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:17:17.428616" elapsed="0.000034"/>
</return>
<msg time="2026-08-18T20:17:17.428784" 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-08-18T20:17:17.427884" elapsed="0.000927"/>
</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-08-18T20:17:17.516254" 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-08-18T20:17:17.515621" elapsed="0.000732"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:17:17.518392" 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-08-18T20:17:17.518112" elapsed="0.000360">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-08-18T20:17:17.518665" 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-08-18T20:17:17.517353" elapsed="0.001420"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.520373" 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-08-18T20:17:17.519722" elapsed="0.000748"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:17:17.521800" 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-08-18T20:17:17.522067" 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-08-18T20:17:17.521451" elapsed="0.000710"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.523512" 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-08-18T20:17:17.523123" elapsed="0.000496"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.525139" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:17.524877" elapsed="0.000306"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.525603" 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-08-18T20:17:17.525340" elapsed="0.000289"/>
</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-08-18T20:17:17.526106" 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-08-18T20:17:17.526306" 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-08-18T20:17:17.526477" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:17:17.525974" elapsed="0.000559"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:17:17.525676" elapsed="0.000888"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:17:17.526608" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:17:17.526806" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:17:17.524470" elapsed="0.002385"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:17.523912" elapsed="0.002984"/>
</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-08-18T20:17:17.527218" elapsed="0.001580"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:17.526953" elapsed="0.001897"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:17.523716" elapsed="0.005191"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.530731" 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-08-18T20:17:17.530023" elapsed="0.000822"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:17:17.530929" 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-08-18T20:17:17.513294" elapsed="0.017930"/>
</kw>
<msg time="2026-08-18T20:17:17.531522" 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-08-18T20:17:17.463955" elapsed="0.067622"/>
</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-08-18T20:17:17.543640" 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-08-18T20:17:17.555461" 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-08-18T20:17:17.567299" 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-08-18T20:17:17.567495" 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-08-18T20:17:17.567669" 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-08-18T20:17:17.568090" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:17.567947" elapsed="0.000295"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:17.567931" elapsed="0.000337"/>
</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-08-18T20:17:17.568409" 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-08-18T20:17:17.568606" 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-08-18T20:17:17.568799" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:17:17.567901" elapsed="0.000952"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:17:17.567756" elapsed="0.001124"/>
</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-08-18T20:17:17.569024" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:17.569099" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:17:17.569215" 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-08-18T20:17:17.459824" elapsed="0.109416"/>
</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-08-18T20:17:17.570652" 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-08-18T20:17:17.570273" elapsed="0.000534">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:17:17.571014" 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-08-18T20:17:17.569935" elapsed="0.001104"/>
</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-08-18T20:17:17.571356" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:17.571112" elapsed="0.000333"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.572174" 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-08-18T20:17:17.571661" elapsed="0.000541"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:17.571471" elapsed="0.000767"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:17.571093" elapsed="0.001166"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.574639" 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-08-18T20:17:17.572409" elapsed="0.002257"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:17:17.574718" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:17:17.574886" 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-08-18T20:17:17.569592" elapsed="0.005319"/>
</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-08-18T20:17:17.576251" 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-08-18T20:17:17.575876" elapsed="0.000513">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:17:17.576625" 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-08-18T20:17:17.575531" elapsed="0.001120"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:17:17.576890" elapsed="0.000027"/>
</return>
<status status="PASS" start="2026-08-18T20:17:17.576726" elapsed="0.000224"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:17.576706" elapsed="0.000267"/>
</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-08-18T20:17:17.577250" 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-08-18T20:17:17.577418" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:17:17.577484" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:17:17.579521" 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-08-18T20:17:17.575213" elapsed="0.004335"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.581035" 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-08-18T20:17:17.580735" elapsed="0.000347"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:17.581500" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:17.581235" 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-08-18T20:17:17.588477" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:17:17.588640" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:17:17.588868" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:17.583602" elapsed="0.005647">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:17.581612" elapsed="0.007721">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:17.589516" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:17.589365" elapsed="0.000216"/>
</branch>
<status status="FAIL" start="2026-08-18T20:17:17.581594" elapsed="0.008009">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:17.590167" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:17.590338" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:17:17.590300" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:17.590282" elapsed="0.000119"/>
</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-08-18T20:17:17.590542" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:17:17.590612" 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-08-18T20:17:17.579900" elapsed="0.010820">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:17.590815" 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-08-18T20:17:17.438553" elapsed="0.152365">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:17.591185" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:17.591012" elapsed="0.000247"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:17.590996" elapsed="0.000286"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:17.591314" 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-08-18T20:17:17.432535" elapsed="0.158876">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:17:17.427476" elapsed="0.164001">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:17:17.427330" elapsed="0.164203">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:17:17.425110" elapsed="0.166514">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:17.424860" elapsed="0.166819">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:17:17.424844" elapsed="0.166865">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:17.592001" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:17.591789" elapsed="0.000269"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:17.591771" elapsed="0.000311"/>
</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-08-18T20:17:17.423799" elapsed="0.168360">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:27.607769" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:27.607296" elapsed="0.000586"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:27.607262" elapsed="0.000657"/>
</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-08-18T20:17:27.610192" 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-08-18T20:17:27.609505" elapsed="0.000730"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:17:27.610727" 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-08-18T20:17:27.610425" elapsed="0.000342"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:17:27.610818" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:17:27.610989" 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-08-18T20:17:27.608893" elapsed="0.002120"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:27.612416" 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-08-18T20:17:27.611846" elapsed="0.000598"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:17:27.612492" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:17:27.612641" 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-08-18T20:17:27.611474" elapsed="0.001193"/>
</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-08-18T20:17:27.701675" 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-08-18T20:17:27.701010" elapsed="0.000797"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:17:27.703689" 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-08-18T20:17:27.703384" 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-08-18T20:17:27.703991" 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-08-18T20:17:27.702893" elapsed="0.001192"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:27.706028" 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-08-18T20:17:27.705160" elapsed="0.000966"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:17:27.707517" 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-08-18T20:17:27.707811" 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-08-18T20:17:27.707195" elapsed="0.000715"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:27.709348" 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-08-18T20:17:27.708952" 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-08-18T20:17:27.711060" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:27.710649" elapsed="0.000458"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:17:27.711539" 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-08-18T20:17:27.711267" 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-08-18T20:17:27.711926" 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-08-18T20:17:27.712129" 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-08-18T20:17:27.712303" elapsed="0.000020"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:17:27.711787" elapsed="0.000573"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:17:27.711620" elapsed="0.000772"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:17:27.712442" elapsed="0.000035"/>
</return>
<msg time="2026-08-18T20:17:27.712637" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:17:27.710278" elapsed="0.002407"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:27.709658" elapsed="0.003069"/>
</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-08-18T20:17:27.713141" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:27.712869" elapsed="0.000352"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:27.709601" elapsed="0.003674"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:17:27.715007" 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-08-18T20:17:27.714257" elapsed="0.000848"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:17:27.715189" 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-08-18T20:17:27.698598" elapsed="0.016885"/>
</kw>
<msg time="2026-08-18T20:17:27.715821" 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-08-18T20:17:27.647783" elapsed="0.068097"/>
</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-08-18T20:17:27.728077" 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-08-18T20:17:27.739969" 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-08-18T20:17:27.751928" 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-08-18T20:17:27.752122" 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-08-18T20:17:27.752294" 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-08-18T20:17:27.752704" elapsed="0.000068"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:27.752560" elapsed="0.000334"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:27.752544" 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-08-18T20:17:27.753066" 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-08-18T20:17:27.753232" 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-08-18T20:17:27.753418" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:17:27.752513" elapsed="0.000961"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:17:27.752370" 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-08-18T20:17:27.753643" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:27.753721" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:17:27.753868" 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-08-18T20:17:27.643614" elapsed="0.110280"/>
</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-08-18T20:17:27.755327" 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-08-18T20:17:27.754942" elapsed="0.000527">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:17:27.755676" 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-08-18T20:17:27.754572" elapsed="0.001129"/>
</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-08-18T20:17:27.756052" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:27.755806" elapsed="0.000338"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:27.756888" 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-08-18T20:17:27.756368" elapsed="0.000547"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:27.756171" elapsed="0.000779"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:27.755785" elapsed="0.001186"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:27.759384" 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-08-18T20:17:27.757121" elapsed="0.002290"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:17:27.759463" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:17:27.759617" 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-08-18T20:17:27.754251" elapsed="0.005390"/>
</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-08-18T20:17:27.761091" 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-08-18T20:17:27.760668" elapsed="0.000565">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:17:27.761454" 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-08-18T20:17:27.760335" elapsed="0.001146"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:17:27.761687" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:17:27.761553" elapsed="0.000213"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:27.761534" elapsed="0.000264"/>
</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-08-18T20:17:27.761947" 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-08-18T20:17:27.762114" elapsed="0.000022"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:17:27.762182" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:17:27.764190" 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-08-18T20:17:27.760016" elapsed="0.004209"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:27.765866" 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-08-18T20:17:27.765523" elapsed="0.000392"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:27.766339" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:27.766069" elapsed="0.000315"/>
</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-08-18T20:17:27.775501" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:17:27.775643" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:17:27.775871" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:27.768460" elapsed="0.007798">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:27.766451" elapsed="0.009892">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:27.776527" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:27.776375" elapsed="0.000216"/>
</branch>
<status status="FAIL" start="2026-08-18T20:17:27.766432" elapsed="0.010181">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:27.777175" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:27.777346" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:17:27.777309" elapsed="0.000108"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:27.777290" elapsed="0.000152"/>
</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-08-18T20:17:27.777587" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:17:27.777657" 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-08-18T20:17:27.764593" elapsed="0.013203">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:27.777878" 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-08-18T20:17:27.622257" elapsed="0.155721">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:27.778305" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:27.778072" elapsed="0.000357"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:27.778055" elapsed="0.000406"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:27.778504" 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-08-18T20:17:27.616413" elapsed="0.162227">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:17:27.611309" elapsed="0.167423">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:17:27.611161" elapsed="0.167723">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:17:27.608340" elapsed="0.170678">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:27.607997" elapsed="0.171098">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:17:27.607975" elapsed="0.171162">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:27.779529" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:27.779230" elapsed="0.000378"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:27.779207" elapsed="0.000433"/>
</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-08-18T20:17:27.606594" elapsed="0.173182">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:37.795759" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:37.795397" elapsed="0.000438"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:37.795371" elapsed="0.000490"/>
</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-08-18T20:17:37.797544" 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-08-18T20:17:37.797097" elapsed="0.000476"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.798056" 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-08-18T20:17:37.797734" elapsed="0.000349"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:17:37.798131" elapsed="0.000037"/>
</return>
<msg time="2026-08-18T20:17:37.798297" 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-08-18T20:17:37.796665" elapsed="0.001657"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.799728" 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-08-18T20:17:37.799425" elapsed="0.000355"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:17:37.799828" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:17:37.799979" 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-08-18T20:17:37.798817" 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-08-18T20:17:37.887198" 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-08-18T20:17:37.886544" elapsed="0.000753"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:17:37.889236" 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-08-18T20:17:37.888977" 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-08-18T20:17:37.889507" 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-08-18T20:17:37.888481" elapsed="0.001120"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.891292" 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-08-18T20:17:37.890635" elapsed="0.000754"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:17:37.892650" 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-08-18T20:17:37.893092" 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-08-18T20:17:37.892340" elapsed="0.000847"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.894520" 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-08-18T20:17:37.894133" elapsed="0.000493"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.896045" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:37.895784" elapsed="0.000305"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.896508" 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-08-18T20:17:37.896245" elapsed="0.000288"/>
</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-08-18T20:17:37.896865" 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-08-18T20:17:37.897065" 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-08-18T20:17:37.897233" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:17:37.896711" elapsed="0.000578"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:17:37.896580" elapsed="0.000739"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:17:37.897362" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:17:37.897544" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:17:37.895406" elapsed="0.002187"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:37.894851" elapsed="0.002782"/>
</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-08-18T20:17:37.898120" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:37.897715" elapsed="0.000484"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:37.894721" elapsed="0.003532"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.899942" 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-08-18T20:17:37.899210" elapsed="0.000830"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:17:37.900124" 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-08-18T20:17:37.884421" elapsed="0.015999"/>
</kw>
<msg time="2026-08-18T20:17:37.900726" 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-08-18T20:17:37.834614" elapsed="0.066183"/>
</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-08-18T20:17:37.912965" 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-08-18T20:17:37.924753" 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-08-18T20:17:37.936501" 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-08-18T20:17:37.936693" 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-08-18T20:17:37.936880" 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-08-18T20:17:37.937296" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:37.937141" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:37.937126" 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-08-18T20:17:37.937614" 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-08-18T20:17:37.937798" 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-08-18T20:17:37.937962" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:17:37.937096" elapsed="0.000918"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:17:37.936955" elapsed="0.001084"/>
</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-08-18T20:17:37.938180" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:37.938254" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:17:37.938368" 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-08-18T20:17:37.830566" elapsed="0.107827"/>
</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-08-18T20:17:37.939812" 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-08-18T20:17:37.939411" elapsed="0.000542">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:17:37.940158" 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-08-18T20:17:37.939078" elapsed="0.001105"/>
</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-08-18T20:17:37.940496" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:37.940254" elapsed="0.000329"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.941329" 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-08-18T20:17:37.940826" elapsed="0.000530"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:37.940610" elapsed="0.000782"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:37.940236" elapsed="0.001178"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.943775" 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-08-18T20:17:37.941568" elapsed="0.002235"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:17:37.943855" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:17:37.944009" 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-08-18T20:17:37.938756" elapsed="0.005278"/>
</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-08-18T20:17:37.945401" 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-08-18T20:17:37.945001" 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-08-18T20:17:37.945804" 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-08-18T20:17:37.944644" elapsed="0.001187"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:17:37.946040" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:17:37.945904" elapsed="0.000195"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:37.945885" elapsed="0.000237"/>
</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-08-18T20:17:37.946266" elapsed="0.000021"/>
</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-08-18T20:17:37.946432" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:17:37.946496" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:17:37.948477" 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-08-18T20:17:37.944327" elapsed="0.004176"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.949959" 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-08-18T20:17:37.949665" elapsed="0.000340"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:37.950413" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:37.950154" elapsed="0.000303"/>
</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-08-18T20:17:37.957733" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:17:37.957895" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:17:37.958079" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:37.952516" elapsed="0.005925">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:37.950524" elapsed="0.007999">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:37.958707" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:37.958555" elapsed="0.000282"/>
</branch>
<status status="FAIL" start="2026-08-18T20:17:37.950505" elapsed="0.008357">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:37.959377" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:37.959548" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:17:37.959510" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:37.959490" 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-08-18T20:17:37.959782" elapsed="0.000023"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:17:37.959854" 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-08-18T20:17:37.948862" elapsed="0.011102">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:37.960041" 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-08-18T20:17:37.809501" elapsed="0.150638">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:37.960405" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:37.960232" elapsed="0.000245"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:37.960215" elapsed="0.000285"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:37.960532" 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-08-18T20:17:37.803721" elapsed="0.156908">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:17:37.798631" elapsed="0.162064">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:17:37.798474" elapsed="0.162301">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:17:37.796284" elapsed="0.164586">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:37.795918" elapsed="0.165008">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:17:37.795902" elapsed="0.165055">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:37.961244" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:37.961021" elapsed="0.000279"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:37.961005" 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-08-18T20:17:37.794884" elapsed="0.166516">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:47.976634" elapsed="0.000038"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:47.976179" elapsed="0.000555"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:47.976148" elapsed="0.000645"/>
</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-08-18T20:17:47.979028" 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-08-18T20:17:47.978361" elapsed="0.000709"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:17:47.979785" 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-08-18T20:17:47.979312" elapsed="0.000511"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:17:47.979902" elapsed="0.000054"/>
</return>
<msg time="2026-08-18T20:17:47.980142" 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-08-18T20:17:47.977771" elapsed="0.002406"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:47.982154" 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-08-18T20:17:47.981652" elapsed="0.000541"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:17:47.982265" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:17:47.982479" 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-08-18T20:17:47.980829" elapsed="0.001686"/>
</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-08-18T20:17:48.071191" 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-08-18T20:17:48.070540" elapsed="0.000756"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:17:48.073136" 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-08-18T20:17:48.072862" elapsed="0.000356">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-08-18T20:17:48.073415" 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-08-18T20:17:48.072355" elapsed="0.001180"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:48.075321" 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-08-18T20:17:48.074641" elapsed="0.000778"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:17:48.076789" 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-08-18T20:17:48.077069" 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-08-18T20:17:48.076450" elapsed="0.000717"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:48.078632" 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-08-18T20:17:48.078239" elapsed="0.000500"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:48.080156" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:48.079893" elapsed="0.000307"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:17:48.080624" 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-08-18T20:17:48.080357" elapsed="0.000292"/>
</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-08-18T20:17:48.081014" 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-08-18T20:17:48.081215" 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-08-18T20:17:48.081387" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:17:48.080881" elapsed="0.000563"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:17:48.080698" elapsed="0.000777"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:17:48.081533" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:17:48.081718" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:17:48.079485" elapsed="0.002413"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:48.078909" elapsed="0.003034"/>
</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-08-18T20:17:48.082282" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:48.082012" elapsed="0.000349"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:48.078855" elapsed="0.003560"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:17:48.084243" 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-08-18T20:17:48.083357" elapsed="0.000984"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:17:48.084425" 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-08-18T20:17:48.068267" elapsed="0.016454"/>
</kw>
<msg time="2026-08-18T20:17:48.085043" 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-08-18T20:17:48.017439" elapsed="0.067659"/>
</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-08-18T20:17:48.097129" 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-08-18T20:17:48.108938" 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-08-18T20:17:48.120686" 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-08-18T20:17:48.120892" 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-08-18T20:17:48.121064" 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-08-18T20:17:48.121528" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:48.121334" elapsed="0.000353"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:48.121317" elapsed="0.000395"/>
</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-08-18T20:17:48.121880" 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-08-18T20:17:48.122052" 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-08-18T20:17:48.122224" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:17:48.121281" elapsed="0.000996"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:17:48.121139" 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-08-18T20:17:48.122457" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:48.122535" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:17:48.122651" 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-08-18T20:17:48.013344" elapsed="0.109332"/>
</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-08-18T20:17:48.124142" 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-08-18T20:17:48.123736" elapsed="0.000546">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:17:48.124486" 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-08-18T20:17:48.123387" elapsed="0.001124"/>
</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-08-18T20:17:48.124851" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:48.124581" elapsed="0.000358"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:48.125662" 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-08-18T20:17:48.125155" elapsed="0.000534"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:48.124965" elapsed="0.000759"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:48.124563" elapsed="0.001204"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:48.128132" 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-08-18T20:17:48.125934" elapsed="0.002225"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:17:48.128210" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:17:48.128361" 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-08-18T20:17:48.123055" elapsed="0.005331"/>
</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-08-18T20:17:48.129838" 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-08-18T20:17:48.129418" elapsed="0.000563">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:17:48.130188" 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-08-18T20:17:48.129074" elapsed="0.001139"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:17:48.130420" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:17:48.130285" elapsed="0.000194"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:48.130266" elapsed="0.000236"/>
</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-08-18T20:17:48.130644" 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-08-18T20:17:48.130828" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:17:48.130895" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:17:48.132917" 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-08-18T20:17:48.128681" elapsed="0.004262"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:48.134410" 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-08-18T20:17:48.134139" elapsed="0.000317"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:48.134979" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:48.134621" elapsed="0.000403"/>
</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-08-18T20:17:48.142333" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:17:48.142472" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:17:48.142660" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:48.137076" elapsed="0.005974">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:48.135093" elapsed="0.008040">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:48.143313" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:48.143164" elapsed="0.000212"/>
</branch>
<status status="FAIL" start="2026-08-18T20:17:48.135074" elapsed="0.008325">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:48.143954" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:48.144119" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:17:48.144082" elapsed="0.000078"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:48.144064" 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-08-18T20:17:48.144322" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:17:48.144391" 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-08-18T20:17:48.133282" elapsed="0.011217">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:48.144574" 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-08-18T20:17:47.992086" elapsed="0.152583">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:48.144962" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:48.144786" elapsed="0.000247"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:48.144768" elapsed="0.000288"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:48.145087" 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-08-18T20:17:47.986330" elapsed="0.158854">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:17:47.980571" elapsed="0.164677">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:17:47.980360" elapsed="0.164944">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:17:47.977222" elapsed="0.168202">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:47.976871" elapsed="0.168613">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:17:47.976849" elapsed="0.168673">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:48.145867" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:48.145592" elapsed="0.000374"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:48.145576" elapsed="0.000430"/>
</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-08-18T20:17:47.975477" elapsed="0.170642">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:58.167880" elapsed="0.000041"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:58.167121" elapsed="0.000867"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:58.167084" elapsed="0.000943"/>
</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-08-18T20:17:58.170890" 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-08-18T20:17:58.169687" elapsed="0.001255"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.172307" 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-08-18T20:17:58.171451" elapsed="0.000901"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:17:58.172431" elapsed="0.000063"/>
</return>
<msg time="2026-08-18T20:17:58.172712" 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-08-18T20:17:58.169059" elapsed="0.003722"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.174932" 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-08-18T20:17:58.174586" elapsed="0.000373"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:17:58.175007" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:17:58.175162" 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-08-18T20:17:58.174159" elapsed="0.001028"/>
</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-08-18T20:17:58.269250" 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-08-18T20:17:58.268429" elapsed="0.000962"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:17:58.271637" 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-08-18T20:17:58.271332" elapsed="0.000386">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-08-18T20:17:58.272032" 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-08-18T20:17:58.270725" elapsed="0.001403"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.273906" 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-08-18T20:17:58.273153" elapsed="0.000853"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:17:58.275301" 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-08-18T20:17:58.275576" 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-08-18T20:17:58.274980" elapsed="0.000695"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.277186" 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-08-18T20:17:58.276740" elapsed="0.000556"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.278819" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:58.278526" elapsed="0.000341"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.279347" 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-08-18T20:17:58.279071" 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-08-18T20:17:58.279696" 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-08-18T20:17:58.280031" 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-08-18T20:17:58.280213" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:17:58.279562" elapsed="0.000709"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:17:58.279424" elapsed="0.000879"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:17:58.280348" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:17:58.280581" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:17:58.278155" elapsed="0.002475"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:58.277450" elapsed="0.003222"/>
</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-08-18T20:17:58.281064" elapsed="0.001888"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:58.280731" elapsed="0.002278"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:58.277396" elapsed="0.005671"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.284933" 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-08-18T20:17:58.284139" elapsed="0.000895"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:17:58.285120" 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-08-18T20:17:58.265471" elapsed="0.019955"/>
</kw>
<msg time="2026-08-18T20:17:58.285734" 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-08-18T20:17:58.213509" elapsed="0.072311"/>
</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-08-18T20:17:58.298541" 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-08-18T20:17:58.310868" 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-08-18T20:17:58.323603" 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-08-18T20:17:58.323815" 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-08-18T20:17:58.323992" 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-08-18T20:17:58.324405" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:58.324260" elapsed="0.000297"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:58.324244" elapsed="0.000339"/>
</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-08-18T20:17:58.324726" elapsed="0.000063"/>
</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-08-18T20:17:58.324962" 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-08-18T20:17:58.325132" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:17:58.324212" elapsed="0.000973"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:17:58.324067" elapsed="0.001145"/>
</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-08-18T20:17:58.325357" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:58.325435" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:17:58.325553" 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-08-18T20:17:58.207785" elapsed="0.117794"/>
</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-08-18T20:17:58.327063" 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-08-18T20:17:58.326632" elapsed="0.000633">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:17:58.327490" 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-08-18T20:17:58.326291" elapsed="0.001224"/>
</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-08-18T20:17:58.327878" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:58.327589" elapsed="0.000387"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.328697" 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-08-18T20:17:58.328196" elapsed="0.000529"/>
</kw>
<status status="PASS" start="2026-08-18T20:17:58.328004" elapsed="0.000814"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:58.327570" elapsed="0.001273"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.331598" 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-08-18T20:17:58.328998" elapsed="0.002628"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:17:58.331680" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:17:58.331972" 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-08-18T20:17:58.325965" elapsed="0.006035"/>
</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-08-18T20:17:58.333539" 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-08-18T20:17:58.333156" 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-08-18T20:17:58.333987" 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-08-18T20:17:58.332808" elapsed="0.001212"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:17:58.334283" elapsed="0.000033"/>
</return>
<status status="PASS" start="2026-08-18T20:17:58.334112" elapsed="0.000247"/>
</branch>
<status status="PASS" start="2026-08-18T20:17:58.334087" elapsed="0.000302"/>
</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-08-18T20:17:58.334573" elapsed="0.000030"/>
</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-08-18T20:17:58.334811" elapsed="0.000026"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:17:58.334892" elapsed="0.000018"/>
</return>
<msg time="2026-08-18T20:17:58.337031" 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-08-18T20:17:58.332387" elapsed="0.004671"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.338495" 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-08-18T20:17:58.338223" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:17:58.338981" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:17:58.338692" elapsed="0.000334"/>
</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-08-18T20:17:58.347085" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:17:58.347265" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:17:58.347507" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:58.341105" elapsed="0.006903">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:58.339093" elapsed="0.009009">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:58.348366" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:58.348188" elapsed="0.000244"/>
</branch>
<status status="FAIL" start="2026-08-18T20:17:58.339074" elapsed="0.009380">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:58.349212" elapsed="0.000053"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:58.349446" elapsed="0.000016"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:17:58.349376" elapsed="0.000116"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:58.349358" elapsed="0.000156"/>
</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-08-18T20:17:58.349687" elapsed="0.000039"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:17:58.349805" elapsed="0.000018"/>
</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-08-18T20:17:58.337404" elapsed="0.012560">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:58.350047" 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-08-18T20:17:58.185005" elapsed="0.165184">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:58.350465" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:58.350287" elapsed="0.000250"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:58.350270" elapsed="0.000290"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:17:58.350592" 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-08-18T20:17:58.179011" elapsed="0.171678">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:17:58.173354" elapsed="0.177420">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:17:58.173069" elapsed="0.177763">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:17:58.168470" elapsed="0.182453">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:17:58.168108" elapsed="0.182868">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:17:58.168085" elapsed="0.182920">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:17:58.351282" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:17:58.351069" elapsed="0.000268"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:17:58.351053" elapsed="0.000308"/>
</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-08-18T20:17:58.166244" elapsed="0.185194">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:08.366202" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:08.365788" elapsed="0.000494"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:08.365741" elapsed="0.000571"/>
</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-08-18T20:18:08.368007" 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-08-18T20:18:08.367529" elapsed="0.000507"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.368511" 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-08-18T20:18:08.368200" elapsed="0.000337"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:18:08.368586" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:18:08.368759" 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-08-18T20:18:08.367098" elapsed="0.001699"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.370343" 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-08-18T20:18:08.369619" elapsed="0.000752"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:18:08.370423" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:18:08.370574" 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-08-18T20:18:08.369274" elapsed="0.001324"/>
</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-08-18T20:18:08.463064" 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-08-18T20:18:08.462349" elapsed="0.000821"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:18:08.465043" 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-08-18T20:18:08.464748" elapsed="0.000374">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-08-18T20:18:08.465336" 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-08-18T20:18:08.464246" elapsed="0.001186"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.467281" 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-08-18T20:18:08.466505" elapsed="0.000873"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:18:08.468638" 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-08-18T20:18:08.468985" 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-08-18T20:18:08.468324" elapsed="0.000756"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.470447" 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-08-18T20:18:08.470052" elapsed="0.000502"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.472126" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:08.471861" elapsed="0.000310"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.472609" 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-08-18T20:18:08.472331" 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-08-18T20:18:08.473102" 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-08-18T20:18:08.473305" 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-08-18T20:18:08.473497" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:18:08.472964" elapsed="0.000591"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:18:08.472690" elapsed="0.000897"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:18:08.473640" elapsed="0.000036"/>
</return>
<msg time="2026-08-18T20:18:08.473860" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:18:08.471469" elapsed="0.002440"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:08.470718" elapsed="0.003233"/>
</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-08-18T20:18:08.474293" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:08.474012" elapsed="0.000362"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:08.470661" elapsed="0.003767"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.476168" 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-08-18T20:18:08.475417" elapsed="0.000847"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:18:08.476353" 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-08-18T20:18:08.459660" elapsed="0.017195"/>
</kw>
<msg time="2026-08-18T20:18:08.477182" 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-08-18T20:18:08.408336" elapsed="0.068906"/>
</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-08-18T20:18:08.491040" elapsed="0.000046"/>
</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-08-18T20:18:08.504031" 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-08-18T20:18:08.515810" 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-08-18T20:18:08.516010" 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-08-18T20:18:08.516183" 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-08-18T20:18:08.516601" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:08.516456" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:08.516439" 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-08-18T20:18:08.516948" 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-08-18T20:18:08.517111" 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-08-18T20:18:08.517272" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:18:08.516406" elapsed="0.000918"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:18:08.516259" elapsed="0.001091"/>
</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-08-18T20:18:08.517494" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:08.517570" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:18:08.517694" 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-08-18T20:18:08.403972" elapsed="0.113747"/>
</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-08-18T20:18:08.519237" 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-08-18T20:18:08.518838" elapsed="0.000547">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:18:08.519591" 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-08-18T20:18:08.518427" 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-08-18T20:18:08.519961" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:08.519688" elapsed="0.000370"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.520803" 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-08-18T20:18:08.520283" elapsed="0.000548"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:08.520085" elapsed="0.000781"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:08.519670" elapsed="0.001217"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.523258" 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-08-18T20:18:08.521037" elapsed="0.002248"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:18:08.523337" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:18:08.523492" 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-08-18T20:18:08.518096" 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-08-18T20:18:08.524950" 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-08-18T20:18:08.524543" elapsed="0.000547">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:18:08.525296" 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-08-18T20:18:08.524210" elapsed="0.001111"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:18:08.525529" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:18:08.525394" elapsed="0.000194"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:08.525375" elapsed="0.000236"/>
</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-08-18T20:18:08.525758" elapsed="0.000037"/>
</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-08-18T20:18:08.525945" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:18:08.526011" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:18:08.528052" 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-08-18T20:18:08.523887" elapsed="0.004191"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.529512" 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-08-18T20:18:08.529236" elapsed="0.000322"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:08.530006" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:08.529709" elapsed="0.000341"/>
</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-08-18T20:18:08.537327" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:18:08.537466" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:18:08.537649" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:08.532118" elapsed="0.005926">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:08.530118" elapsed="0.008010">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:08.538309" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:08.538159" elapsed="0.000214"/>
</branch>
<status status="FAIL" start="2026-08-18T20:18:08.530099" elapsed="0.008296">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:08.538955" elapsed="0.000046"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:08.539145" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:18:08.539108" elapsed="0.000078"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:08.539090" 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-08-18T20:18:08.539348" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:18:08.539424" 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-08-18T20:18:08.528417" elapsed="0.011119">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:08.539611" 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-08-18T20:18:08.381738" elapsed="0.157970">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:08.540002" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:08.539826" elapsed="0.000248"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:08.539809" elapsed="0.000287"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:08.540128" 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-08-18T20:18:08.374755" elapsed="0.165470">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:18:08.369107" elapsed="0.171185">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:18:08.368959" elapsed="0.171390">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:18:08.366640" elapsed="0.173803">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:08.366372" elapsed="0.174127">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:18:08.366355" elapsed="0.174174">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:08.540850" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:08.540594" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:08.540578" elapsed="0.000352"/>
</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-08-18T20:18:08.365170" elapsed="0.175839">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:18.556018" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:18.555655" elapsed="0.000437"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:18.555630" 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-08-18T20:18:18.557957" 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-08-18T20:18:18.557344" elapsed="0.000647"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.558591" 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-08-18T20:18:18.558196" elapsed="0.000429"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:18:18.558689" elapsed="0.000075"/>
</return>
<msg time="2026-08-18T20:18:18.558935" 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-08-18T20:18:18.556867" elapsed="0.002100"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.560719" 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-08-18T20:18:18.560322" elapsed="0.000454"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:18:18.560826" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:18:18.560988" 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-08-18T20:18:18.559555" elapsed="0.001458"/>
</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-08-18T20:18:18.650171" 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-08-18T20:18:18.649527" elapsed="0.000745"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:18:18.652112" 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-08-18T20:18:18.651830" 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-08-18T20:18:18.652382" 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-08-18T20:18:18.651327" elapsed="0.001149"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.654268" 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-08-18T20:18:18.653450" elapsed="0.000915"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:18:18.655638" 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-08-18T20:18:18.655985" 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-08-18T20:18:18.655327" elapsed="0.000754"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.657410" 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-08-18T20:18:18.657021" elapsed="0.000494"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.659036" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:18.658771" elapsed="0.000310"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.659504" 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-08-18T20:18:18.659239" elapsed="0.000291"/>
</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-08-18T20:18:18.659978" 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-08-18T20:18:18.660184" 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-08-18T20:18:18.660356" elapsed="0.000020"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:18:18.659725" elapsed="0.000687"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:18:18.659581" elapsed="0.000862"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:18:18.660490" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:18:18.660678" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:18:18.658356" elapsed="0.002371"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:18.657672" 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-08-18T20:18:18.661261" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:18.660994" elapsed="0.000345"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:18.657617" elapsed="0.003774"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.663149" 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-08-18T20:18:18.662355" elapsed="0.000892"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:18:18.663331" 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-08-18T20:18:18.647180" elapsed="0.016448"/>
</kw>
<msg time="2026-08-18T20:18:18.663987" 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-08-18T20:18:18.596970" elapsed="0.067077"/>
</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-08-18T20:18:18.676171" 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-08-18T20:18:18.687771" 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-08-18T20:18:18.699360" 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-08-18T20:18:18.699554" 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-08-18T20:18:18.699725" elapsed="0.000035"/>
</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-08-18T20:18:18.700150" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:18.700006" elapsed="0.000297"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:18.699991" elapsed="0.000338"/>
</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-08-18T20:18:18.700470" 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-08-18T20:18:18.700633" elapsed="0.000019"/>
</kw>
<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-08-18T20:18:18.700823" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:18:18.699959" elapsed="0.000918"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:18:18.699817" elapsed="0.001086"/>
</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-08-18T20:18:18.701047" elapsed="0.000019"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:18.701120" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:18:18.701236" 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-08-18T20:18:18.592642" elapsed="0.108619"/>
</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-08-18T20:18:18.702710" 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-08-18T20:18:18.702293" elapsed="0.000630">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:18:18.703165" 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-08-18T20:18:18.701954" elapsed="0.001241"/>
</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-08-18T20:18:18.703574" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:18.703279" elapsed="0.000400"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.704439" 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-08-18T20:18:18.703943" elapsed="0.000523"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:18.703710" elapsed="0.000791"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:18.703257" elapsed="0.001265"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.706919" 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-08-18T20:18:18.704672" elapsed="0.002274"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:18:18.706997" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:18:18.707150" 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-08-18T20:18:18.701613" elapsed="0.005562"/>
</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-08-18T20:18:18.708555" 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-08-18T20:18:18.708181" elapsed="0.000514">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:18:18.708936" 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-08-18T20:18:18.707846" elapsed="0.001115"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:18:18.709168" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:18:18.709034" elapsed="0.000193"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:18.709014" elapsed="0.000236"/>
</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-08-18T20:18:18.709392" 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-08-18T20:18:18.709559" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:18:18.709623" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:18:18.711615" 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-08-18T20:18:18.707469" elapsed="0.004173"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.713105" 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-08-18T20:18:18.712837" elapsed="0.000313"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:18.713558" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:18.713298" elapsed="0.000303"/>
</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-08-18T20:18:18.720714" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:18:18.720879" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:18:18.721065" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:18.715666" elapsed="0.005777">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:18.713667" elapsed="0.007859">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:18.721711" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:18.721557" elapsed="0.000251"/>
</branch>
<status status="FAIL" start="2026-08-18T20:18:18.713649" elapsed="0.008182">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:18.722342" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:18.722506" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:18:18.722469" elapsed="0.000078"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:18.722452" elapsed="0.000115"/>
</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-08-18T20:18:18.722708" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:18:18.722802" 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-08-18T20:18:18.712017" elapsed="0.010897">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:18.723020" 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-08-18T20:18:18.570763" elapsed="0.152356">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:18.723387" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:18.723212" elapsed="0.000247"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:18.723196" elapsed="0.000286"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:18.723513" 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-08-18T20:18:18.564838" elapsed="0.158773">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:18:18.559340" elapsed="0.164341">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:18:18.559150" elapsed="0.164653">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:18:18.556423" elapsed="0.167513">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:18.556172" elapsed="0.167843">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:18:18.556156" elapsed="0.167901">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:18.724479" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:18.724183" elapsed="0.000374"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:18.724159" elapsed="0.000431"/>
</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-08-18T20:18:18.555144" elapsed="0.169555">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:28.740970" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:28.740458" elapsed="0.000590"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:28.740426" elapsed="0.000648"/>
</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-08-18T20:18:28.742830" 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-08-18T20:18:28.742359" elapsed="0.000499"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.743321" 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-08-18T20:18:28.743018" elapsed="0.000329"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:18:28.743394" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:18:28.743560" 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-08-18T20:18:28.741944" elapsed="0.001641"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.744990" 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-08-18T20:18:28.744627" elapsed="0.000390"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:18:28.745067" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:18:28.745215" 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-08-18T20:18:28.744056" elapsed="0.001184"/>
</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-08-18T20:18:28.834526" 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-08-18T20:18:28.833602" elapsed="0.001026"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:18:28.836373" 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-08-18T20:18:28.836107" elapsed="0.000343">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-08-18T20:18:28.836642" 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-08-18T20:18:28.835595" elapsed="0.001142"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.838615" 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-08-18T20:18:28.837960" elapsed="0.000752"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:18:28.839996" 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-08-18T20:18:28.840262" 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-08-18T20:18:28.839668" elapsed="0.000689"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.842050" 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-08-18T20:18:28.841488" elapsed="0.000670"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.843554" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:28.843291" elapsed="0.000309"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.844043" 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-08-18T20:18:28.843774" elapsed="0.000296"/>
</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-08-18T20:18:28.844391" 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-08-18T20:18:28.844593" 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-08-18T20:18:28.844789" elapsed="0.000023"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:18:28.844258" elapsed="0.000591"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:18:28.844119" elapsed="0.000760"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:18:28.844925" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:18:28.845163" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:18:28.842923" elapsed="0.002290"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:28.842313" elapsed="0.002942"/>
</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-08-18T20:18:28.845582" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:28.845312" elapsed="0.000348"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:28.842259" elapsed="0.003454"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.847549" 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-08-18T20:18:28.846848" elapsed="0.000797"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:18:28.847727" elapsed="0.000071"/>
</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-08-18T20:18:28.831394" elapsed="0.016649"/>
</kw>
<msg time="2026-08-18T20:18:28.848352" 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-08-18T20:18:28.780549" elapsed="0.067858"/>
</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-08-18T20:18:28.860657" 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-08-18T20:18:28.872463" 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-08-18T20:18:28.884288" 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-08-18T20:18:28.884482" 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-08-18T20:18:28.884653" 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-08-18T20:18:28.885077" elapsed="0.000070"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:28.884934" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:28.884918" 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-08-18T20:18:28.885425" 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-08-18T20:18:28.885591" 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-08-18T20:18:28.885779" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:18:28.884887" elapsed="0.000946"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:18:28.884728" elapsed="0.001131"/>
</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-08-18T20:18:28.886005" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:28.886080" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:18:28.886198" 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-08-18T20:18:28.776448" elapsed="0.109776"/>
</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-08-18T20:18:28.887640" 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-08-18T20:18:28.887257" elapsed="0.000538">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:18:28.888005" 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-08-18T20:18:28.886915" elapsed="0.001116"/>
</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-08-18T20:18:28.888343" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:28.888102" elapsed="0.000328"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.889174" 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-08-18T20:18:28.888646" elapsed="0.000555"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:28.888456" elapsed="0.000780"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:28.888084" elapsed="0.001173"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.891598" 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-08-18T20:18:28.889404" elapsed="0.002221"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:18:28.891675" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:18:28.891843" 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-08-18T20:18:28.886577" elapsed="0.005292"/>
</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-08-18T20:18:28.893246" 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-08-18T20:18:28.892830" 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-08-18T20:18:28.893595" 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-08-18T20:18:28.892485" elapsed="0.001135"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:18:28.893854" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:18:28.893691" elapsed="0.000223"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:28.893673" elapsed="0.000264"/>
</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-08-18T20:18:28.894081" 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-08-18T20:18:28.894249" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:18:28.894314" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:18:28.896324" 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-08-18T20:18:28.892167" elapsed="0.004184"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.897802" 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-08-18T20:18:28.897507" elapsed="0.000342"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:28.898259" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:28.897998" elapsed="0.000304"/>
</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-08-18T20:18:28.905647" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:18:28.905814" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:18:28.906005" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:28.900353" elapsed="0.006020">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:28.898369" elapsed="0.008087">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:28.906638" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:28.906488" elapsed="0.000215"/>
</branch>
<status status="FAIL" start="2026-08-18T20:18:28.898351" elapsed="0.008375">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:28.907290" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:28.907457" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:18:28.907419" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:28.907401" elapsed="0.000119"/>
</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-08-18T20:18:28.907660" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:18:28.907730" elapsed="0.000030"/>
</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-08-18T20:18:28.896687" elapsed="0.011169">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:28.907932" 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-08-18T20:18:28.755014" elapsed="0.153015">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:28.908297" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:28.908122" elapsed="0.000248"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:28.908106" elapsed="0.000287"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:28.908425" 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-08-18T20:18:28.748966" elapsed="0.159557">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:18:28.743890" elapsed="0.164699">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:18:28.743727" elapsed="0.164920">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:18:28.741549" elapsed="0.167190">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:28.741296" elapsed="0.167516">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:18:28.741280" elapsed="0.167563">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:28.909128" elapsed="0.000066"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:28.908908" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:28.908892" elapsed="0.000364"/>
</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-08-18T20:18:28.739795" elapsed="0.169541">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:38.920948" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:38.920589" elapsed="0.000434"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:38.920563" elapsed="0.000486"/>
</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-08-18T20:18:38.922620" 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-08-18T20:18:38.922168" elapsed="0.000481"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:18:38.923151" 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-08-18T20:18:38.922846" elapsed="0.000331"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:18:38.923226" elapsed="0.000039"/>
</return>
<msg time="2026-08-18T20:18:38.923392" 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-08-18T20:18:38.921737" 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-08-18T20:18:38.924798" 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-08-18T20:18:38.924481" elapsed="0.000344"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:18:38.924872" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:18:38.925021" 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-08-18T20:18:38.924133" elapsed="0.000913"/>
</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-08-18T20:18:39.014521" 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-08-18T20:18:39.013882" elapsed="0.000741"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:18:39.016484" 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-08-18T20:18:39.016218" 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-08-18T20:18:39.016768" 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-08-18T20:18:39.015610" elapsed="0.001256"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:39.018571" 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-08-18T20:18:39.017924" elapsed="0.000744"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:18:39.020053" 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-08-18T20:18:39.020320" 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-08-18T20:18:39.019640" elapsed="0.000775"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:39.021786" 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-08-18T20:18:39.021352" elapsed="0.000545"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:39.023322" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:39.023062" elapsed="0.000310"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:18:39.023943" 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-08-18T20:18:39.023531" 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-08-18T20:18:39.024296" 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-08-18T20:18:39.026236" 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-08-18T20:18:39.026421" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:18:39.024164" elapsed="0.002316"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:18:39.024023" elapsed="0.002489"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:18:39.026560" elapsed="0.000033"/>
</return>
<msg time="2026-08-18T20:18:39.026774" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:18:39.022638" elapsed="0.004214"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:39.022055" elapsed="0.004845"/>
</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-08-18T20:18:39.027232" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:39.026960" elapsed="0.000352"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:39.022000" elapsed="0.005366"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:18:39.029043" 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-08-18T20:18:39.028310" elapsed="0.000832"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:18:39.029225" 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-08-18T20:18:39.011482" elapsed="0.018038"/>
</kw>
<msg time="2026-08-18T20:18:39.029850" 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-08-18T20:18:38.961073" elapsed="0.068831"/>
</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-08-18T20:18:39.041779" 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-08-18T20:18:39.053529" 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-08-18T20:18:39.065347" 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-08-18T20:18:39.065540" 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-08-18T20:18:39.065710" 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-08-18T20:18:39.066132" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:39.065991" elapsed="0.000293"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:39.065975" elapsed="0.000334"/>
</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-08-18T20:18:39.066448" 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-08-18T20:18:39.066611" 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-08-18T20:18:39.066794" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:18:39.065944" elapsed="0.000923"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:18:39.065801" elapsed="0.001094"/>
</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-08-18T20:18:39.067043" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:39.067120" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:18:39.067236" 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-08-18T20:18:38.957060" elapsed="0.110201"/>
</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-08-18T20:18:39.068675" 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-08-18T20:18:39.068292" 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-08-18T20:18:39.069051" 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-08-18T20:18:39.067954" elapsed="0.001123"/>
</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-08-18T20:18:39.069388" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:39.069148" elapsed="0.000330"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:39.070210" 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-08-18T20:18:39.069694" elapsed="0.000544"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:39.069504" elapsed="0.000769"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:39.069130" elapsed="0.001164"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:39.072659" 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-08-18T20:18:39.070442" elapsed="0.002244"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:18:39.072738" elapsed="0.000051"/>
</return>
<msg time="2026-08-18T20:18:39.072915" 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-08-18T20:18:39.067613" elapsed="0.005327"/>
</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-08-18T20:18:39.074317" 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-08-18T20:18:39.073941" elapsed="0.000515">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:18:39.074661" 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-08-18T20:18:39.073555" elapsed="0.001132"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:18:39.074948" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:18:39.074781" elapsed="0.000226"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:39.074740" elapsed="0.000290"/>
</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-08-18T20:18:39.075173" elapsed="0.000021"/>
</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-08-18T20:18:39.075340" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:18:39.075405" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:18:39.077406" 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-08-18T20:18:39.073235" elapsed="0.004198"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:39.078902" 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-08-18T20:18:39.078605" elapsed="0.000343"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:39.079365" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:39.079099" 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-08-18T20:18:39.086502" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:18:39.086641" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:18:39.086857" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:39.081464" elapsed="0.005791">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:39.079477" elapsed="0.007861">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:39.087521" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:39.087370" elapsed="0.000216"/>
</branch>
<status status="FAIL" start="2026-08-18T20:18:39.079459" elapsed="0.008151">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:39.088189" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:39.088366" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:18:39.088329" elapsed="0.000078"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:39.088310" elapsed="0.000118"/>
</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-08-18T20:18:39.088568" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:18:39.088637" 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-08-18T20:18:39.077813" elapsed="0.010966">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:39.088858" 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-08-18T20:18:38.935998" elapsed="0.152957">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:39.089220" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:39.089046" elapsed="0.000246"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:39.089030" elapsed="0.000285"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:39.089347" 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-08-18T20:18:38.929833" elapsed="0.159609">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:18:38.923720" elapsed="0.165787">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:18:38.923571" elapsed="0.165992">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:18:38.921358" elapsed="0.168295">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:38.921104" elapsed="0.168604">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:18:38.921088" elapsed="0.168649">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:39.090038" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:39.089826" elapsed="0.000268"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:39.089809" elapsed="0.000309"/>
</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-08-18T20:18:38.920071" elapsed="0.170124">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:49.106003" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:49.105645" elapsed="0.000432"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:49.105618" elapsed="0.000485"/>
</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-08-18T20:18:49.107671" 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-08-18T20:18:49.107228" elapsed="0.000472"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.108184" 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-08-18T20:18:49.107879" elapsed="0.000332"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:18:49.108259" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:18:49.108425" 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-08-18T20:18:49.106808" elapsed="0.001643"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.109878" 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-08-18T20:18:49.109271" elapsed="0.000635"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:18:49.109953" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:18:49.110105" 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-08-18T20:18:49.108924" elapsed="0.001206"/>
</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-08-18T20:18:49.199458" 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-08-18T20:18:49.198712" elapsed="0.000846"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:18:49.201467" 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-08-18T20:18:49.201198" elapsed="0.000354">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-08-18T20:18:49.201751" 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-08-18T20:18:49.200662" elapsed="0.001308"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.203673" 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-08-18T20:18:49.203006" elapsed="0.000877"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:18:49.205165" 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-08-18T20:18:49.205433" 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-08-18T20:18:49.204848" elapsed="0.000681"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.207027" 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-08-18T20:18:49.206575" elapsed="0.000569"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.209106" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:49.208692" elapsed="0.000477"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.209953" 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-08-18T20:18:49.209412" elapsed="0.000582"/>
</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-08-18T20:18:49.210444" 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-08-18T20:18:49.210724" elapsed="0.000062"/>
</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-08-18T20:18:49.211010" elapsed="0.000030"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:18:49.210257" elapsed="0.000879"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:18:49.210064" elapsed="0.001121"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:18:49.211254" elapsed="0.000049"/>
</return>
<msg time="2026-08-18T20:18:49.211523" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:18:49.208176" elapsed="0.003415"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:49.207299" elapsed="0.004350"/>
</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-08-18T20:18:49.212150" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:49.211711" elapsed="0.000522"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:49.207244" elapsed="0.005043"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.213995" 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-08-18T20:18:49.213250" elapsed="0.000842"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:18:49.214176" 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-08-18T20:18:49.196458" elapsed="0.018015"/>
</kw>
<msg time="2026-08-18T20:18:49.214813" 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-08-18T20:18:49.145075" elapsed="0.069798"/>
</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-08-18T20:18:49.227114" 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-08-18T20:18:49.238948" 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-08-18T20:18:49.250754" elapsed="0.000039"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-08-18T20:18:49.250960" 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-08-18T20:18:49.251131" 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-08-18T20:18:49.251537" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:49.251392" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:49.251376" elapsed="0.000366"/>
</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-08-18T20:18:49.251926" 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-08-18T20:18:49.252098" 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-08-18T20:18:49.252263" elapsed="0.000019"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:18:49.251346" elapsed="0.000968"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:18:49.251205" 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-08-18T20:18:49.252485" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:49.252561" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:18:49.252677" 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-08-18T20:18:49.141000" elapsed="0.111703"/>
</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-08-18T20:18:49.254188" 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-08-18T20:18:49.253780" 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-08-18T20:18:49.254537" 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-08-18T20:18:49.253409" elapsed="0.001153"/>
</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-08-18T20:18:49.254916" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:49.254633" elapsed="0.000375"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.255743" 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-08-18T20:18:49.255229" elapsed="0.000565"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:49.255035" elapsed="0.000806"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:49.254614" elapsed="0.001249"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.258248" 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-08-18T20:18:49.256016" elapsed="0.002259"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:18:49.258326" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:18:49.258480" 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-08-18T20:18:49.253085" elapsed="0.005420"/>
</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-08-18T20:18:49.260007" 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-08-18T20:18:49.259548" elapsed="0.000603">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:18:49.260362" 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-08-18T20:18:49.259214" elapsed="0.001174"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:18:49.260599" elapsed="0.000027"/>
</return>
<status status="PASS" start="2026-08-18T20:18:49.260461" elapsed="0.000198"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:49.260441" 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-08-18T20:18:49.260857" 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-08-18T20:18:49.261034" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:18:49.261100" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:18:49.263129" 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-08-18T20:18:49.258889" elapsed="0.004268"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.264642" 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-08-18T20:18:49.264364" elapsed="0.000326"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:49.265162" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:49.264888" 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-08-18T20:18:49.272539" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:18:49.272687" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:18:49.272909" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:49.267294" elapsed="0.006005">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:49.265277" elapsed="0.008108">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:49.273569" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:49.273417" elapsed="0.000216"/>
</branch>
<status status="FAIL" start="2026-08-18T20:18:49.265258" elapsed="0.008397">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:49.274223" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:49.274394" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:18:49.274356" elapsed="0.000081"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:49.274336" 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-08-18T20:18:49.274604" elapsed="0.000023"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:18:49.274676" 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-08-18T20:18:49.263503" elapsed="0.011315">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:49.274900" 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-08-18T20:18:49.119641" elapsed="0.155360">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:49.275272" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:49.275094" elapsed="0.000252"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:49.275077" elapsed="0.000293"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:49.275402" 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-08-18T20:18:49.113846" elapsed="0.161655">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:18:49.108739" elapsed="0.166829">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:18:49.108594" elapsed="0.167033">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:18:49.106410" elapsed="0.169310">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:49.106159" elapsed="0.169670">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:18:49.106143" elapsed="0.169723">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:49.276202" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:49.275934" elapsed="0.000331"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:49.275917" elapsed="0.000373"/>
</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-08-18T20:18:49.105099" elapsed="0.171271">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:59.291391" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:59.291048" elapsed="0.000416"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:59.291022" elapsed="0.000469"/>
</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-08-18T20:18:59.293092" 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-08-18T20:18:59.292604" elapsed="0.000521"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:18:59.293591" 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-08-18T20:18:59.293287" elapsed="0.000333"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:18:59.293671" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:18:59.293903" 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-08-18T20:18:59.292193" elapsed="0.001746"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:59.295418" 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-08-18T20:18:59.295087" elapsed="0.000359"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:18:59.295494" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:18:59.295646" 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-08-18T20:18:59.294420" elapsed="0.001251"/>
</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-08-18T20:18:59.383487" 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-08-18T20:18:59.382868" elapsed="0.000717"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:18:59.385470" 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-08-18T20:18:59.385192" elapsed="0.000355">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-08-18T20:18:59.385739" 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-08-18T20:18:59.384689" elapsed="0.001252"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:59.387547" 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-08-18T20:18:59.386905" elapsed="0.000737"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:18:59.388984" 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-08-18T20:18:59.389247" 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-08-18T20:18:59.388660" elapsed="0.000684"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:59.390803" 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-08-18T20:18:59.390393" 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-08-18T20:18:59.392372" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:59.392110" elapsed="0.000308"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:18:59.392861" 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-08-18T20:18:59.392575" 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-08-18T20:18:59.393197" 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-08-18T20:18:59.393398" elapsed="0.000023"/>
</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-08-18T20:18:59.393606" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:18:59.393065" elapsed="0.000599"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:18:59.392933" elapsed="0.000761"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:18:59.393737" elapsed="0.000136"/>
</return>
<msg time="2026-08-18T20:18:59.394033" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:18:59.391621" elapsed="0.002459"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:59.391061" 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-08-18T20:18:59.394450" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:59.394180" elapsed="0.000349"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:59.391010" elapsed="0.003573"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:18:59.396260" 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-08-18T20:18:59.395536" elapsed="0.000821"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:18:59.396441" 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-08-18T20:18:59.380560" elapsed="0.016175"/>
</kw>
<msg time="2026-08-18T20:18:59.397060" 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-08-18T20:18:59.330479" elapsed="0.066636"/>
</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-08-18T20:18:59.409249" 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-08-18T20:18:59.420983" 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-08-18T20:18:59.432717" elapsed="0.000039"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<var>${items}</var>
<doc>Returns a list containing given items.</doc>
<status status="NOT RUN" start="2026-08-18T20:18:59.432932" 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-08-18T20:18:59.433116" 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-08-18T20:18:59.433523" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:59.433380" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:59.433364" 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-08-18T20:18:59.433919" 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-08-18T20:18:59.434171" 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-08-18T20:18:59.434335" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:18:59.433334" elapsed="0.001058"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:18:59.433192" elapsed="0.001235"/>
</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-08-18T20:18:59.434598" elapsed="0.000023"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:59.434677" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:18:59.434812" 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-08-18T20:18:59.326450" elapsed="0.108397"/>
</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-08-18T20:18:59.436291" 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-08-18T20:18:59.435909" elapsed="0.000521">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:18:59.436635" 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-08-18T20:18:59.435549" elapsed="0.001111"/>
</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-08-18T20:18:59.437004" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:59.436731" elapsed="0.000367"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:18:59.437851" 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-08-18T20:18:59.437317" elapsed="0.000561"/>
</kw>
<status status="PASS" start="2026-08-18T20:18:59.437125" elapsed="0.000794"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:59.436713" elapsed="0.001228"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:18:59.440273" 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-08-18T20:18:59.438090" elapsed="0.002210"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:18:59.440351" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:18:59.440504" 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-08-18T20:18:59.435205" elapsed="0.005323"/>
</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-08-18T20:18:59.441972" 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-08-18T20:18:59.441533" elapsed="0.000578">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:18:59.442317" 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-08-18T20:18:59.441202" elapsed="0.001141"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:18:59.442549" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:18:59.442414" elapsed="0.000194"/>
</branch>
<status status="PASS" start="2026-08-18T20:18:59.442395" elapsed="0.000236"/>
</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-08-18T20:18:59.442792" 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-08-18T20:18:59.442970" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:18:59.443035" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:18:59.445009" 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-08-18T20:18:59.440884" elapsed="0.004151"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:59.446460" 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-08-18T20:18:59.446191" elapsed="0.000314"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:18:59.446963" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:18:59.446654" elapsed="0.000352"/>
</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-08-18T20:18:59.454095" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:18:59.454233" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:18:59.454416" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:59.449057" elapsed="0.005778">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:59.447073" elapsed="0.007850">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:59.455105" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:59.454954" elapsed="0.000215"/>
</branch>
<status status="FAIL" start="2026-08-18T20:18:59.447055" elapsed="0.008137">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:59.455695" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:59.455878" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:18:59.455842" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:59.455823" 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-08-18T20:18:59.456086" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:18:59.456155" 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-08-18T20:18:59.445374" elapsed="0.010889">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:59.456338" 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-08-18T20:18:59.305245" elapsed="0.151188">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:59.456695" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:59.456523" elapsed="0.000280"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:59.456507" elapsed="0.000320"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:18:59.456859" 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-08-18T20:18:59.299439" elapsed="0.157523">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:18:59.294253" elapsed="0.162774">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:18:59.294099" elapsed="0.162983">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:18:59.291813" elapsed="0.165361">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:18:59.291546" elapsed="0.165682">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:18:59.291530" elapsed="0.165727">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:18:59.457532" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:18:59.457322" elapsed="0.000265"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:18:59.457306" elapsed="0.000304"/>
</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-08-18T20:18:59.290504" elapsed="0.167183">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:09.473732" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:09.473393" elapsed="0.000429"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:09.473368" elapsed="0.000481"/>
</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-08-18T20:19:09.475425" 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-08-18T20:19:09.474978" elapsed="0.000475"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.475934" 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-08-18T20:19:09.475615" elapsed="0.000345"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:19:09.476009" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:19:09.476174" 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-08-18T20:19:09.474537" elapsed="0.001662"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.477722" 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-08-18T20:19:09.477393" elapsed="0.000457"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:19:09.477903" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:19:09.478057" 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-08-18T20:19:09.476827" elapsed="0.001255"/>
</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-08-18T20:19:09.566189" 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-08-18T20:19:09.565444" elapsed="0.000843"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:19:09.568099" 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-08-18T20:19:09.567726" elapsed="0.000452">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-08-18T20:19:09.568374" 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-08-18T20:19:09.567247" elapsed="0.001220"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.570185" 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-08-18T20:19:09.569439" elapsed="0.000842"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:19:09.571532" 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-08-18T20:19:09.571897" 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-08-18T20:19:09.571223" elapsed="0.000769"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.573334" 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-08-18T20:19:09.572944" elapsed="0.000497"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.574905" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:19:09.574626" elapsed="0.000323"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.575383" 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-08-18T20:19:09.575108" 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-08-18T20:19:09.575718" 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-08-18T20:19:09.576036" 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-08-18T20:19:09.576210" elapsed="0.000020"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:19:09.575587" elapsed="0.000679"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:19:09.575456" elapsed="0.000841"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:19:09.576341" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:19:09.576521" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:19:09.574262" elapsed="0.002308"/>
</kw>
<status status="PASS" start="2026-08-18T20:19:09.573590" elapsed="0.003020"/>
</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-08-18T20:19:09.576963" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:09.576667" elapsed="0.000375"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:09.573539" elapsed="0.003556"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.578785" 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-08-18T20:19:09.578059" elapsed="0.000824"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:19:09.578965" 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-08-18T20:19:09.563113" elapsed="0.016145"/>
</kw>
<msg time="2026-08-18T20:19:09.579549" 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-08-18T20:19:09.512901" elapsed="0.066703"/>
</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-08-18T20:19:09.591639" 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-08-18T20:19:09.603292" 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-08-18T20:19:09.614991" 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-08-18T20:19:09.615185" 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-08-18T20:19:09.615362" 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-08-18T20:19:09.615789" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:09.615624" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:09.615609" elapsed="0.000362"/>
</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-08-18T20:19:09.616112" 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-08-18T20:19:09.616281" elapsed="0.000019"/>
</kw>
<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-08-18T20:19:09.616444" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:19:09.615579" elapsed="0.000917"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:19:09.615437" elapsed="0.001084"/>
</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-08-18T20:19:09.616663" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:09.616738" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:19:09.616883" 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-08-18T20:19:09.508863" elapsed="0.108046"/>
</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-08-18T20:19:09.618321" 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-08-18T20:19:09.617944" elapsed="0.000516">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:19:09.618664" 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-08-18T20:19:09.617583" elapsed="0.001107"/>
</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-08-18T20:19:09.619025" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:09.618780" elapsed="0.000333"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.619845" 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-08-18T20:19:09.619333" elapsed="0.000539"/>
</kw>
<status status="PASS" start="2026-08-18T20:19:09.619140" elapsed="0.000767"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:09.618760" elapsed="0.001169"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.622280" 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-08-18T20:19:09.620075" elapsed="0.002232"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:19:09.622358" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:19:09.622510" 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-08-18T20:19:09.617261" elapsed="0.005274"/>
</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-08-18T20:19:09.623947" 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-08-18T20:19:09.623545" 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-08-18T20:19:09.624294" 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-08-18T20:19:09.623216" elapsed="0.001104"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:19:09.624524" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:19:09.624391" elapsed="0.000192"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:09.624372" elapsed="0.000234"/>
</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-08-18T20:19:09.624766" 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-08-18T20:19:09.624949" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:19:09.625015" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:19:09.626992" 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-08-18T20:19:09.622896" elapsed="0.004122"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.628437" 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-08-18T20:19:09.628167" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:09.628948" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:19:09.628631" elapsed="0.000362"/>
</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-08-18T20:19:09.636128" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:19:09.636268" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:19:09.636452" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:09.631035" elapsed="0.005857">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:19:09.629060" elapsed="0.007917">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:09.637161" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:09.637009" elapsed="0.000231"/>
</branch>
<status status="FAIL" start="2026-08-18T20:19:09.629041" elapsed="0.008230">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:09.638032" elapsed="0.000038"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:09.638266" elapsed="0.000019"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:19:09.638210" elapsed="0.000113"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:09.638185" 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-08-18T20:19:09.638546" elapsed="0.000030"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:19:09.638642" elapsed="0.000020"/>
</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-08-18T20:19:09.627353" elapsed="0.011468">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:09.638929" 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-08-18T20:19:09.487717" elapsed="0.151346">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:09.639426" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:09.639189" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:09.639166" elapsed="0.000390"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:09.639599" elapsed="0.000019"/>
</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-08-18T20:19:09.481961" elapsed="0.157772">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:19:09.476645" elapsed="0.163232">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:19:09.476476" elapsed="0.163482">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:19:09.474158" elapsed="0.165926">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:19:09.473906" elapsed="0.166253">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:19:09.473889" elapsed="0.166311">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:09.640582" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:09.640290" elapsed="0.000370"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:09.640268" elapsed="0.000424"/>
</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-08-18T20:19:09.472867" elapsed="0.167962">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:19.655735" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:19.655286" elapsed="0.000567"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:19.655254" elapsed="0.000636"/>
</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-08-18T20:19:19.657987" 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-08-18T20:19:19.657446" elapsed="0.000570"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.658479" 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-08-18T20:19:19.658177" elapsed="0.000328"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:19:19.658552" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:19:19.658716" 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-08-18T20:19:19.656884" elapsed="0.001857"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.660101" 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-08-18T20:19:19.659801" elapsed="0.000327"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:19:19.660174" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:19:19.660322" 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-08-18T20:19:19.659431" elapsed="0.000916"/>
</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-08-18T20:19:19.752645" 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-08-18T20:19:19.751447" elapsed="0.001338"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:19:19.754689" 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-08-18T20:19:19.754395" elapsed="0.000395">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-08-18T20:19:19.754991" 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-08-18T20:19:19.753865" elapsed="0.001223"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.756902" 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-08-18T20:19:19.756169" elapsed="0.000833"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:19:19.758374" 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-08-18T20:19:19.758659" 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-08-18T20:19:19.758041" elapsed="0.000731"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.760253" 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-08-18T20:19:19.759724" elapsed="0.000651"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.762060" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:19:19.761663" elapsed="0.000445"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.762567" 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-08-18T20:19:19.762273" 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-08-18T20:19:19.762967" 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-08-18T20:19:19.765571" 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-08-18T20:19:19.765783" elapsed="0.000023"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:19:19.762826" elapsed="0.003020"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:19:19.762652" elapsed="0.003230"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:19:19.765937" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:19:19.766148" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:19:19.761250" elapsed="0.004948"/>
</kw>
<status status="PASS" start="2026-08-18T20:19:19.760554" elapsed="0.005686"/>
</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-08-18T20:19:19.766588" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:19.766306" elapsed="0.000364"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:19.760493" elapsed="0.006232"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.768485" 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-08-18T20:19:19.767700" elapsed="0.000885"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:19:19.768670" 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-08-18T20:19:19.748165" elapsed="0.020835"/>
</kw>
<msg time="2026-08-18T20:19:19.769332" 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-08-18T20:19:19.695222" elapsed="0.074178"/>
</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-08-18T20:19:19.781448" 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-08-18T20:19:19.793367" 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-08-18T20:19:19.805218" 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-08-18T20:19:19.805411" 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-08-18T20:19:19.805583" 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-08-18T20:19:19.806017" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:19.805874" elapsed="0.000296"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:19.805858" elapsed="0.000337"/>
</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-08-18T20:19:19.806343" elapsed="0.000020"/>
</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-08-18T20:19:19.806506" 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-08-18T20:19:19.806666" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:19:19.805827" elapsed="0.000890"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:19:19.805658" elapsed="0.001099"/>
</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-08-18T20:19:19.806903" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:19.806977" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:19:19.807097" 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-08-18T20:19:19.691171" elapsed="0.115951"/>
</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-08-18T20:19:19.808580" 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-08-18T20:19:19.808183" 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-08-18T20:19:19.808962" 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-08-18T20:19:19.807821" 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-08-18T20:19:19.809298" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:19.809056" elapsed="0.000330"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.810142" 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-08-18T20:19:19.809612" elapsed="0.000558"/>
</kw>
<status status="PASS" start="2026-08-18T20:19:19.809412" elapsed="0.000794"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:19.809039" elapsed="0.001187"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.812601" 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-08-18T20:19:19.810376" elapsed="0.002251"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:19:19.812865" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:19:19.813021" 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-08-18T20:19:19.807476" elapsed="0.005570"/>
</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-08-18T20:19:19.814456" 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-08-18T20:19:19.814073" elapsed="0.000523">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:19:19.814831" 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-08-18T20:19:19.813660" elapsed="0.001203"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:19:19.815073" elapsed="0.000027"/>
</return>
<status status="PASS" start="2026-08-18T20:19:19.814936" elapsed="0.000197"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:19.814917" 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-08-18T20:19:19.815303" 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-08-18T20:19:19.815471" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:19:19.815537" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:19:19.817563" 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-08-18T20:19:19.813342" elapsed="0.004248"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.819265" 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-08-18T20:19:19.818920" elapsed="0.000406"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:19.819904" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:19:19.819532" elapsed="0.000426"/>
</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-08-18T20:19:19.829005" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:19:19.829147" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:19:19.829376" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:19.822524" elapsed="0.007308">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:19:19.820043" elapsed="0.009878">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:19.830108" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:19.829955" elapsed="0.000219"/>
</branch>
<status status="FAIL" start="2026-08-18T20:19:19.820020" elapsed="0.010178">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:19.830768" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:19.830951" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:19:19.830913" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:19.830894" 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-08-18T20:19:19.831167" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:19:19.831238" 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-08-18T20:19:19.817968" elapsed="0.013397">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:19.831445" 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-08-18T20:19:19.669928" elapsed="0.161619">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:19.831873" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:19.831648" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:19.831630" elapsed="0.000343"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:19.832006" 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-08-18T20:19:19.664120" elapsed="0.167987">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:19:19.659043" elapsed="0.173133">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:19:19.658900" elapsed="0.173336">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:19:19.656312" elapsed="0.176028">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:19:19.655967" elapsed="0.176454">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:19:19.655945" elapsed="0.176517">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:19.832802" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:19.832544" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:19.832525" elapsed="0.000363"/>
</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-08-18T20:19:19.654600" elapsed="0.178369">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:29.851241" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:29.850902" elapsed="0.000414"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:29.850877" elapsed="0.000464"/>
</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-08-18T20:19:29.852936" 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-08-18T20:19:29.852467" elapsed="0.000502"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:19:29.853438" 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-08-18T20:19:29.853132" elapsed="0.000332"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:19:29.853512" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:19:29.853679" 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-08-18T20:19:29.852040" 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-08-18T20:19:29.855093" 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-08-18T20:19:29.854524" elapsed="0.000597"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:19:29.855168" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:19:29.855319" 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-08-18T20:19:29.854171" elapsed="0.001174"/>
</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-08-18T20:19:29.943893" 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-08-18T20:19:29.943227" elapsed="0.000767"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:19:29.945857" 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-08-18T20:19:29.945561" elapsed="0.000375">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-08-18T20:19:29.946133" 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-08-18T20:19:29.945068" elapsed="0.001160"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:19:29.947982" 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-08-18T20:19:29.947237" elapsed="0.000847"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:19:29.949652" 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-08-18T20:19:29.949980" 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-08-18T20:19:29.949281" elapsed="0.000797"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:29.951503" 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-08-18T20:19:29.951092" elapsed="0.000521"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:29.953231" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:19:29.952958" elapsed="0.000318"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:19:29.953710" 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-08-18T20:19:29.953439" elapsed="0.000297"/>
</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-08-18T20:19:29.954105" 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-08-18T20:19:29.954309" 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-08-18T20:19:29.954481" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:19:29.953970" elapsed="0.000569"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:19:29.953825" elapsed="0.000746"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:19:29.954615" elapsed="0.000035"/>
</return>
<msg time="2026-08-18T20:19:29.954899" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:19:29.952446" elapsed="0.002504"/>
</kw>
<status status="PASS" start="2026-08-18T20:19:29.951801" elapsed="0.003191"/>
</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-08-18T20:19:29.955325" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:29.955051" elapsed="0.000354"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:29.951716" elapsed="0.003743"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:19:29.957188" 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-08-18T20:19:29.956436" elapsed="0.000851"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:19:29.957371" 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-08-18T20:19:29.940968" elapsed="0.016706"/>
</kw>
<msg time="2026-08-18T20:19:29.958014" 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-08-18T20:19:29.890185" elapsed="0.067889"/>
</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-08-18T20:19:29.970368" 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-08-18T20:19:29.982103" elapsed="0.000032"/>
</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-08-18T20:19:29.993821" 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-08-18T20:19:29.994012" 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-08-18T20:19:29.994183" 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-08-18T20:19:29.994587" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:29.994445" elapsed="0.000294"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:29.994430" elapsed="0.000354"/>
</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-08-18T20:19:29.994927" 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-08-18T20:19:29.995091" 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-08-18T20:19:29.995253" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:19:29.994400" elapsed="0.000904"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:19:29.994257" elapsed="0.001074"/>
</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-08-18T20:19:29.995472" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:29.995546" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:19:29.995663" 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-08-18T20:19:29.886147" elapsed="0.109541"/>
</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-08-18T20:19:29.997181" 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-08-18T20:19:29.996782" elapsed="0.000559">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:19:29.997549" 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-08-18T20:19:29.996413" 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-08-18T20:19:29.997924" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:29.997645" elapsed="0.000371"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:19:29.998729" 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-08-18T20:19:29.998235" elapsed="0.000540"/>
</kw>
<status status="PASS" start="2026-08-18T20:19:29.998042" elapsed="0.000770"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:29.997627" elapsed="0.001206"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:19:30.001214" 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-08-18T20:19:29.998983" elapsed="0.002257"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:19:30.001291" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:19:30.001445" 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-08-18T20:19:29.996089" elapsed="0.005381"/>
</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-08-18T20:19:30.002895" 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-08-18T20:19:30.002490" elapsed="0.000545">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:19:30.003242" 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-08-18T20:19:30.002155" elapsed="0.001113"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:19:30.003474" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:19:30.003340" elapsed="0.000192"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:30.003321" elapsed="0.000234"/>
</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-08-18T20:19:30.003699" 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-08-18T20:19:30.003908" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:19:30.003974" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:19:30.005974" 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-08-18T20:19:30.001829" elapsed="0.004172"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:30.007442" 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-08-18T20:19:30.007168" elapsed="0.000321"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:30.008113" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:19:30.007639" elapsed="0.000519"/>
</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-08-18T20:19:30.016613" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:19:30.016785" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:19:30.017003" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:30.010872" elapsed="0.006508">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:19:30.008226" elapsed="0.009240">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:30.017654" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:30.017500" elapsed="0.000219"/>
</branch>
<status status="FAIL" start="2026-08-18T20:19:30.008207" elapsed="0.009573">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:30.018314" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:30.018493" elapsed="0.000015"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:19:30.018455" elapsed="0.000080"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:30.018437" elapsed="0.000120"/>
</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-08-18T20:19:30.018699" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:19:30.018792" 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-08-18T20:19:30.006347" elapsed="0.012557">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:30.018979" 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-08-18T20:19:29.864961" elapsed="0.154115">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:30.019342" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:30.019168" elapsed="0.000246"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:30.019152" elapsed="0.000285"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:30.019469" 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-08-18T20:19:29.859076" elapsed="0.160491">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:19:29.854005" elapsed="0.165627">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:19:29.853859" elapsed="0.165831">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:19:29.851645" elapsed="0.168191">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:19:29.851396" elapsed="0.168499">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:19:29.851380" elapsed="0.168545">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:30.020211" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:30.019992" elapsed="0.000275"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:30.019975" elapsed="0.000315"/>
</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-08-18T20:19:29.850383" elapsed="0.169987">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:40.039061" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:40.038665" elapsed="0.000481"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:40.038639" elapsed="0.000535"/>
</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-08-18T20:19:40.040809" 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-08-18T20:19:40.040332" elapsed="0.000508"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.041333" 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-08-18T20:19:40.041005" elapsed="0.000356"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:19:40.041411" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:19:40.041584" 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-08-18T20:19:40.039907" elapsed="0.001703"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.043140" 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-08-18T20:19:40.042809" elapsed="0.000360"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:19:40.043216" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:19:40.043369" 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-08-18T20:19:40.042183" elapsed="0.001211"/>
</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-08-18T20:19:40.133058" 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-08-18T20:19:40.132311" elapsed="0.000846"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:19:40.135001" 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-08-18T20:19:40.134602" elapsed="0.000481">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-08-18T20:19:40.135277" 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-08-18T20:19:40.134121" elapsed="0.001250"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.137124" 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-08-18T20:19:40.136363" elapsed="0.000860"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:19:40.138490" 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-08-18T20:19:40.138912" 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-08-18T20:19:40.138179" elapsed="0.000846"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.140370" 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-08-18T20:19:40.139976" elapsed="0.000501"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.141958" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:19:40.141678" elapsed="0.000324"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.142425" 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-08-18T20:19:40.142159" elapsed="0.000292"/>
</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-08-18T20:19:40.142877" 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-08-18T20:19:40.143092" 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-08-18T20:19:40.143268" elapsed="0.000020"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:19:40.142638" elapsed="0.000686"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:19:40.142500" elapsed="0.000855"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:19:40.143401" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:19:40.143589" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:19:40.141313" elapsed="0.002325"/>
</kw>
<status status="PASS" start="2026-08-18T20:19:40.140630" elapsed="0.003047"/>
</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-08-18T20:19:40.144018" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:40.143735" elapsed="0.000361"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:40.140576" elapsed="0.003574"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.145823" 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-08-18T20:19:40.145106" elapsed="0.000814"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:19:40.146002" 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-08-18T20:19:40.130051" elapsed="0.016242"/>
</kw>
<msg time="2026-08-18T20:19:40.146596" 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-08-18T20:19:40.079963" elapsed="0.066688"/>
</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-08-18T20:19:40.158803" 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-08-18T20:19:40.170594" 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-08-18T20:19:40.182415" 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-08-18T20:19:40.182607" 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-08-18T20:19:40.182793" 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-08-18T20:19:40.183243" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:40.183090" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:40.183074" 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-08-18T20:19:40.183565" 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-08-18T20:19:40.183730" elapsed="0.000039"/>
</kw>
<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-08-18T20:19:40.183929" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:19:40.183043" elapsed="0.000940"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:19:40.182870" elapsed="0.001138"/>
</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-08-18T20:19:40.184153" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:40.184228" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:19:40.184344" 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-08-18T20:19:40.075722" elapsed="0.108648"/>
</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-08-18T20:19:40.185812" 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-08-18T20:19:40.185408" elapsed="0.000559">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:19:40.186185" 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-08-18T20:19:40.185069" elapsed="0.001144"/>
</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-08-18T20:19:40.186528" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:40.186285" elapsed="0.000333"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.187388" 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-08-18T20:19:40.186867" elapsed="0.000548"/>
</kw>
<status status="PASS" start="2026-08-18T20:19:40.186645" elapsed="0.000805"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:40.186267" elapsed="0.001204"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.189836" 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-08-18T20:19:40.187619" elapsed="0.002243"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:19:40.189914" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:19:40.190066" 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-08-18T20:19:40.184725" elapsed="0.005367"/>
</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-08-18T20:19:40.191489" 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-08-18T20:19:40.191112" elapsed="0.000516">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:19:40.191868" 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-08-18T20:19:40.190706" elapsed="0.001192"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:19:40.192105" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:19:40.191971" elapsed="0.000194"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:40.191952" 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-08-18T20:19:40.192338" 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-08-18T20:19:40.192509" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:19:40.192575" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:19:40.194581" 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-08-18T20:19:40.190388" elapsed="0.004223"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.196153" 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-08-18T20:19:40.195883" elapsed="0.000316"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:40.196608" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:19:40.196348" elapsed="0.000303"/>
</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-08-18T20:19:40.204820" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:19:40.204960" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:19:40.205147" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:40.198697" elapsed="0.006816">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:19:40.196718" elapsed="0.008879">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:40.205809" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:40.205628" elapsed="0.000247"/>
</branch>
<status status="FAIL" start="2026-08-18T20:19:40.196699" elapsed="0.009199">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:40.206413" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:40.206579" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:19:40.206542" elapsed="0.000079"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:40.206524" elapsed="0.000118"/>
</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-08-18T20:19:40.206803" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:19:40.206900" 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-08-18T20:19:40.195067" elapsed="0.011945">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:40.207086" 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-08-18T20:19:40.053224" elapsed="0.153960">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:40.207449" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:40.207276" elapsed="0.000244"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:40.207260" elapsed="0.000283"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:40.207574" 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-08-18T20:19:40.047354" elapsed="0.160316">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:19:40.042013" elapsed="0.165721">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:19:40.041859" elapsed="0.165959">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:19:40.039496" elapsed="0.168416">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:19:40.039233" elapsed="0.168734">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:19:40.039216" elapsed="0.168780">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:40.208273" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:40.208062" elapsed="0.000266"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:40.208045" elapsed="0.000307"/>
</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-08-18T20:19:40.038129" elapsed="0.170300">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:50.226956" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:50.226586" elapsed="0.000451"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:50.226559" 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-08-18T20:19:50.228696" 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-08-18T20:19:50.228223" elapsed="0.000502"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.229209" 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-08-18T20:19:50.228904" elapsed="0.000331"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:19:50.229283" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:19:50.229451" 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-08-18T20:19:50.227795" elapsed="0.001681"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.230860" 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-08-18T20:19:50.230542" elapsed="0.000346"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:19:50.230933" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:19:50.231083" 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-08-18T20:19:50.229957" 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-08-18T20:19:50.319541" 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-08-18T20:19:50.318923" elapsed="0.000717"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:19:50.321501" 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-08-18T20:19:50.321238" 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-08-18T20:19:50.321790" 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-08-18T20:19:50.320622" elapsed="0.001266"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.323631" 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-08-18T20:19:50.322979" elapsed="0.000750"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:19:50.325100" 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-08-18T20:19:50.325367" 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-08-18T20:19:50.324694" elapsed="0.000770"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.326963" 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-08-18T20:19:50.326451" elapsed="0.000620"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.328426" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:19:50.328165" elapsed="0.000305"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.329004" 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-08-18T20:19:50.328627" elapsed="0.000403"/>
</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-08-18T20:19:50.329343" 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-08-18T20:19:50.329543" 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-08-18T20:19:50.329714" elapsed="0.000020"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:19:50.329210" elapsed="0.000575"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:19:50.329076" elapsed="0.000741"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:19:50.329860" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:19:50.330042" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:19:50.327800" elapsed="0.002290"/>
</kw>
<status status="PASS" start="2026-08-18T20:19:50.327220" elapsed="0.002911"/>
</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-08-18T20:19:50.330478" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:50.330199" elapsed="0.000357"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:50.327169" elapsed="0.003441"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.332341" 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-08-18T20:19:50.331622" elapsed="0.000818"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:19:50.332523" 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-08-18T20:19:50.316515" elapsed="0.016351"/>
</kw>
<msg time="2026-08-18T20:19:50.333161" 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-08-18T20:19:50.265902" elapsed="0.067315"/>
</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-08-18T20:19:50.345179" 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-08-18T20:19:50.356912" 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-08-18T20:19:50.368692" 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-08-18T20:19:50.368902" 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-08-18T20:19:50.369073" 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-08-18T20:19:50.369476" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:50.369334" elapsed="0.000297"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:50.369319" elapsed="0.000338"/>
</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-08-18T20:19:50.369834" 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-08-18T20:19:50.370005" elapsed="0.000019"/>
</kw>
<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-08-18T20:19:50.370166" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:19:50.369289" elapsed="0.000929"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:19:50.369147" elapsed="0.001097"/>
</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-08-18T20:19:50.370388" elapsed="0.000023"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:50.370467" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:19:50.370581" 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-08-18T20:19:50.261641" elapsed="0.108965"/>
</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-08-18T20:19:50.372041" 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-08-18T20:19:50.371633" elapsed="0.000549">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:19:50.372388" 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-08-18T20:19:50.371300" 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-08-18T20:19:50.372722" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:50.372484" elapsed="0.000353"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.373556" 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-08-18T20:19:50.373060" elapsed="0.000522"/>
</kw>
<status status="PASS" start="2026-08-18T20:19:50.372864" elapsed="0.000754"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:50.372466" elapsed="0.001174"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.376029" 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-08-18T20:19:50.373848" elapsed="0.002207"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:19:50.376107" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:19:50.376259" 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-08-18T20:19:50.370974" elapsed="0.005315"/>
</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-08-18T20:19:50.377696" 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-08-18T20:19:50.377304" 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-08-18T20:19:50.378078" 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-08-18T20:19:50.376972" elapsed="0.001131"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:19:50.378310" elapsed="0.000029"/>
</return>
<status status="PASS" start="2026-08-18T20:19:50.378175" elapsed="0.000199"/>
</branch>
<status status="PASS" start="2026-08-18T20:19:50.378156" 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-08-18T20:19:50.378540" 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-08-18T20:19:50.378708" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:19:50.378791" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:19:50.380783" 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-08-18T20:19:50.376588" elapsed="0.004222"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.382259" 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-08-18T20:19:50.381987" elapsed="0.000318"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:19:50.382715" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:19:50.382454" elapsed="0.000334"/>
</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-08-18T20:19:50.389852" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:19:50.389992" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:19:50.390176" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:50.384845" elapsed="0.005704">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:19:50.382861" elapsed="0.007770">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:50.390846" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:50.390663" elapsed="0.000249"/>
</branch>
<status status="FAIL" start="2026-08-18T20:19:50.382842" elapsed="0.008092">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:50.391448" elapsed="0.000026"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:50.391612" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:19:50.391575" elapsed="0.000078"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:50.391558" elapsed="0.000116"/>
</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-08-18T20:19:50.391837" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:19:50.391907" 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-08-18T20:19:50.381144" elapsed="0.010871">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:50.392089" 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-08-18T20:19:50.240568" elapsed="0.151615">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:50.392452" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:50.392274" elapsed="0.000249"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:50.392258" elapsed="0.000288"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:19:50.392578" 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-08-18T20:19:50.234821" elapsed="0.157853">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:19:50.229788" elapsed="0.162951">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:19:50.229625" elapsed="0.163198">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:19:50.227378" elapsed="0.165537">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:19:50.227125" elapsed="0.165844">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:19:50.227110" elapsed="0.165888">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:19:50.393272" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:19:50.393062" elapsed="0.000265"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:19:50.393046" elapsed="0.000305"/>
</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-08-18T20:19:50.226060" elapsed="0.167367">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:00.408896" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:00.408418" elapsed="0.000578"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:00.408385" elapsed="0.000648"/>
</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-08-18T20:20:00.410932" 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-08-18T20:20:00.410448" elapsed="0.000513"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:20:00.411431" 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-08-18T20:20:00.411126" elapsed="0.000331"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:20:00.411506" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:20:00.411677" 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-08-18T20:20:00.410025" elapsed="0.001677"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:00.413118" 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-08-18T20:20:00.412817" elapsed="0.000328"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:20:00.413191" elapsed="0.000028"/>
</return>
<msg time="2026-08-18T20:20:00.413337" 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-08-18T20:20:00.412427" elapsed="0.000934"/>
</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-08-18T20:20:00.501963" 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-08-18T20:20:00.501207" elapsed="0.000858"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:20:00.503976" 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-08-18T20:20:00.503585" elapsed="0.000475">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-08-18T20:20:00.504260" 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-08-18T20:20:00.503087" elapsed="0.001281"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:00.506191" 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-08-18T20:20:00.505393" elapsed="0.000902"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:20:00.507562" 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-08-18T20:20:00.507933" 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-08-18T20:20:00.507246" elapsed="0.000783"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:00.509399" 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-08-18T20:20:00.508974" 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-08-18T20:20:00.511015" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:00.510725" elapsed="0.000335"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:20:00.511494" 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-08-18T20:20:00.511220" 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-08-18T20:20:00.511961" 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-08-18T20:20:00.513999" 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-08-18T20:20:00.514190" elapsed="0.000023"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:20:00.511713" elapsed="0.002539"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:20:00.511569" elapsed="0.002722"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:20:00.514340" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:20:00.514533" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:20:00.510358" elapsed="0.004225"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:00.509661" elapsed="0.004970"/>
</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-08-18T20:20:00.514997" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:00.514692" elapsed="0.000387"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:00.509610" elapsed="0.005523"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:20:00.516907" 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-08-18T20:20:00.516095" elapsed="0.000916"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:20:00.517117" 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-08-18T20:20:00.498966" elapsed="0.018459"/>
</kw>
<msg time="2026-08-18T20:20:00.517762" 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-08-18T20:20:00.448250" elapsed="0.069575"/>
</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-08-18T20:20:00.529858" 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-08-18T20:20:00.541719" elapsed="0.000041"/>
</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-08-18T20:20:00.553529" 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-08-18T20:20:00.553739" elapsed="0.000037"/>
</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-08-18T20:20:00.553933" 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-08-18T20:20:00.554358" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:00.554212" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:00.554196" 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-08-18T20:20:00.554684" 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-08-18T20:20:00.554871" 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-08-18T20:20:00.555035" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:20:00.554161" elapsed="0.000926"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:20:00.554012" elapsed="0.001101"/>
</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-08-18T20:20:00.555256" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:00.555329" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:20:00.555447" 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-08-18T20:20:00.444162" elapsed="0.111310"/>
</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-08-18T20:20:00.557004" 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-08-18T20:20:00.556539" elapsed="0.000621">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:20:00.557368" 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-08-18T20:20:00.556178" elapsed="0.001217"/>
</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-08-18T20:20:00.557720" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:00.557469" elapsed="0.000370"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:00.558577" 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-08-18T20:20:00.558066" elapsed="0.000538"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:00.557866" elapsed="0.000774"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:00.557451" elapsed="0.001210"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:00.561109" 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-08-18T20:20:00.558840" elapsed="0.002299"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:20:00.561190" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:20:00.561344" 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-08-18T20:20:00.555842" elapsed="0.005527"/>
</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-08-18T20:20:00.563024" 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-08-18T20:20:00.562604" 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-08-18T20:20:00.563372" 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-08-18T20:20:00.562266" elapsed="0.001132"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:20:00.563606" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:20:00.563470" elapsed="0.000196"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:00.563451" 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-08-18T20:20:00.563851" 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-08-18T20:20:00.564021" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:20:00.564087" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:20:00.566134" 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-08-18T20:20:00.561662" elapsed="0.004498"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:00.567619" 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-08-18T20:20:00.567342" elapsed="0.000323"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:00.568115" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:00.567850" 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-08-18T20:20:00.577050" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:20:00.577382" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:20:00.577915" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:00.570242" elapsed="0.008496">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:00.568226" elapsed="0.010749">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:00.579404" elapsed="0.000052"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:00.579049" elapsed="0.000529"/>
</branch>
<status status="FAIL" start="2026-08-18T20:20:00.568208" elapsed="0.011428">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:00.580972" elapsed="0.000071"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:00.581376" elapsed="0.000035"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:20:00.581280" elapsed="0.000196"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:00.581237" elapsed="0.000288"/>
</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-08-18T20:20:00.581946" elapsed="0.000054"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:20:00.582112" elapsed="0.000041"/>
</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-08-18T20:20:00.566511" elapsed="0.015872">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:00.582557" elapsed="0.000037"/>
</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-08-18T20:20:00.422944" elapsed="0.159880">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:00.583449" elapsed="0.000061"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:00.583041" elapsed="0.000579"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:00.583003" elapsed="0.000674"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:00.583824" elapsed="0.000041"/>
</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-08-18T20:20:00.417083" elapsed="0.166980">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:20:00.412019" elapsed="0.172189">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:20:00.411867" elapsed="0.172467">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:20:00.409491" elapsed="0.175048">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:00.409111" elapsed="0.175550">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:20:00.409089" elapsed="0.175647">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:00.585511" elapsed="0.000055"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:00.585022" elapsed="0.000620"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:00.584980" elapsed="0.000725"/>
</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-08-18T20:20:00.407667" elapsed="0.178209">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:10.601584" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:10.601130" elapsed="0.000550"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:10.601099" elapsed="0.000617"/>
</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-08-18T20:20:10.603910" 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-08-18T20:20:10.603275" elapsed="0.000708"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.604704" 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-08-18T20:20:10.604261" elapsed="0.000500"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:20:10.604833" elapsed="0.000055"/>
</return>
<msg time="2026-08-18T20:20:10.605050" 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-08-18T20:20:10.602696" elapsed="0.002378"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.609231" 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-08-18T20:20:10.608641" elapsed="0.000617"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:20:10.609305" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:20:10.609456" 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-08-18T20:20:10.608296" elapsed="0.001186"/>
</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-08-18T20:20:10.700290" 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-08-18T20:20:10.699652" elapsed="0.000737"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:20:10.702222" 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-08-18T20:20:10.701945" 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-08-18T20:20:10.702496" 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-08-18T20:20:10.701445" elapsed="0.001145"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.704317" 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-08-18T20:20:10.703655" elapsed="0.000759"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:20:10.705734" 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-08-18T20:20:10.706007" 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-08-18T20:20:10.705426" elapsed="0.000676"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.707531" 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-08-18T20:20:10.707138" elapsed="0.000500"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.709131" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:10.708864" elapsed="0.000311"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.709601" 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-08-18T20:20:10.709334" elapsed="0.000293"/>
</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-08-18T20:20:10.709956" 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-08-18T20:20:10.710156" 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-08-18T20:20:10.710329" elapsed="0.000020"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:20:10.709823" elapsed="0.000562"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:20:10.709673" elapsed="0.000744"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:20:10.710461" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:20:10.710643" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:20:10.708377" elapsed="0.002314"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:10.707820" elapsed="0.002911"/>
</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-08-18T20:20:10.711141" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:10.710874" elapsed="0.000346"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:10.707734" elapsed="0.003538"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.712953" 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-08-18T20:20:10.712227" elapsed="0.000824"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:20:10.713132" 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-08-18T20:20:10.697446" elapsed="0.015980"/>
</kw>
<msg time="2026-08-18T20:20:10.713729" 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-08-18T20:20:10.647181" elapsed="0.066626"/>
</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-08-18T20:20:10.725960" 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-08-18T20:20:10.737703" 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-08-18T20:20:10.749411" 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-08-18T20:20:10.749602" 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-08-18T20:20:10.749791" 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-08-18T20:20:10.750200" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:10.750057" elapsed="0.000294"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:10.750041" elapsed="0.000336"/>
</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-08-18T20:20:10.750518" 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-08-18T20:20:10.750681" 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-08-18T20:20:10.750865" elapsed="0.000021"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:20:10.750011" elapsed="0.000908"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:20:10.749868" elapsed="0.001077"/>
</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-08-18T20:20:10.751092" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:10.751167" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:20:10.751282" 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-08-18T20:20:10.643105" elapsed="0.108202"/>
</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-08-18T20:20:10.752720" 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-08-18T20:20:10.752343" elapsed="0.000540">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:20:10.753089" 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-08-18T20:20:10.752007" elapsed="0.001107"/>
</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-08-18T20:20:10.753424" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:10.753185" elapsed="0.000329"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.754250" 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-08-18T20:20:10.753736" elapsed="0.000540"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:10.753540" elapsed="0.000772"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:10.753167" elapsed="0.001167"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.756708" 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-08-18T20:20:10.754484" elapsed="0.002251"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:20:10.756825" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:20:10.756981" 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-08-18T20:20:10.751657" elapsed="0.005349"/>
</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-08-18T20:20:10.758357" 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-08-18T20:20:10.757979" elapsed="0.000516">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:20:10.758700" 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-08-18T20:20:10.757622" elapsed="0.001104"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:20:10.758970" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:20:10.758835" elapsed="0.000194"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:10.758816" elapsed="0.000236"/>
</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-08-18T20:20:10.759196" 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-08-18T20:20:10.759362" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:20:10.759427" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:20:10.761442" 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-08-18T20:20:10.757303" elapsed="0.004165"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.762917" 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-08-18T20:20:10.762628" elapsed="0.000335"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:10.763377" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:10.763118" elapsed="0.000302"/>
</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-08-18T20:20:10.771338" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:20:10.771477" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:20:10.771663" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:10.765486" elapsed="0.006592">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:10.763487" elapsed="0.008677">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:10.772344" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:10.772195" elapsed="0.000214"/>
</branch>
<status status="FAIL" start="2026-08-18T20:20:10.763469" elapsed="0.008962">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:10.773013" elapsed="0.000030"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:10.773184" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:20:10.773148" elapsed="0.000077"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:10.773129" elapsed="0.000116"/>
</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-08-18T20:20:10.773386" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:20:10.773455" 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-08-18T20:20:10.761829" elapsed="0.011736">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:10.773639" 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-08-18T20:20:10.620598" elapsed="0.153137">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:10.774041" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:10.773869" elapsed="0.000243"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:10.773852" elapsed="0.000283"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:10.774166" elapsed="0.000013"/>
</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-08-18T20:20:10.613340" elapsed="0.160922">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:20:10.608129" elapsed="0.166197">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:20:10.607977" elapsed="0.166405">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:20:10.602167" elapsed="0.172306">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:10.601815" elapsed="0.172713">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:20:10.601792" elapsed="0.172765">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:10.774854" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:10.774621" elapsed="0.000290"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:10.774604" elapsed="0.000330"/>
</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-08-18T20:20:10.600450" elapsed="0.174561">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:20.789633" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:20.789291" elapsed="0.000415"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:20.789266" elapsed="0.000467"/>
</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-08-18T20:20:20.791317" 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-08-18T20:20:20.790868" elapsed="0.000477"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.791825" 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-08-18T20:20:20.791507" elapsed="0.000345"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:20:20.791901" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:20:20.792079" 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-08-18T20:20:20.790437" elapsed="0.001667"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.793482" 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-08-18T20:20:20.793181" elapsed="0.000328"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:20:20.793556" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:20:20.793704" 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-08-18T20:20:20.792562" elapsed="0.001168"/>
</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-08-18T20:20:20.881506" 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-08-18T20:20:20.880894" elapsed="0.000712"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:20:20.883457" 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-08-18T20:20:20.883200" elapsed="0.000336">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-08-18T20:20:20.883732" 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-08-18T20:20:20.882686" elapsed="0.001254"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.885571" 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-08-18T20:20:20.884925" elapsed="0.000744"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:20:20.887053" 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-08-18T20:20:20.887313" 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-08-18T20:20:20.886713" elapsed="0.000695"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.888847" 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-08-18T20:20:20.888442" elapsed="0.000511"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.890402" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:20.890142" elapsed="0.000305"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.890909" 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-08-18T20:20:20.890605" elapsed="0.000330"/>
</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-08-18T20:20:20.891250" 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-08-18T20:20:20.891449" 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-08-18T20:20:20.891622" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:20:20.891117" elapsed="0.000561"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:20:20.890982" elapsed="0.000728"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:20:20.891851" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:20:20.892036" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:20:20.889656" elapsed="0.002428"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:20.889100" elapsed="0.003025"/>
</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-08-18T20:20:20.892447" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:20.892181" elapsed="0.000344"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:20.889050" elapsed="0.003527"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.894239" 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-08-18T20:20:20.893524" elapsed="0.000812"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:20:20.894417" 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-08-18T20:20:20.878598" elapsed="0.016112"/>
</kw>
<msg time="2026-08-18T20:20:20.895032" 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-08-18T20:20:20.828235" elapsed="0.066852"/>
</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-08-18T20:20:20.907040" 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-08-18T20:20:20.918703" 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-08-18T20:20:20.930338" 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-08-18T20:20:20.930539" 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-08-18T20:20:20.930711" 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-08-18T20:20:20.931136" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:20.930993" elapsed="0.000296"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:20.930978" elapsed="0.000336"/>
</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-08-18T20:20:20.931454" elapsed="0.000020"/>
</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-08-18T20:20:20.931617" elapsed="0.000019"/>
</kw>
<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-08-18T20:20:20.931799" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:20:20.930947" elapsed="0.000907"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:20:20.930806" elapsed="0.001074"/>
</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-08-18T20:20:20.932024" elapsed="0.000019"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:20.932098" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:20:20.932211" 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-08-18T20:20:20.824199" elapsed="0.108037"/>
</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-08-18T20:20:20.933636" 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-08-18T20:20:20.933260" elapsed="0.000538">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:20:20.934007" 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-08-18T20:20:20.932927" elapsed="0.001105"/>
</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-08-18T20:20:20.934342" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:20.934102" elapsed="0.000344"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.935189" 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-08-18T20:20:20.934669" elapsed="0.000547"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:20.934472" elapsed="0.000780"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:20.934084" elapsed="0.001189"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.937615" 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-08-18T20:20:20.935422" elapsed="0.002220"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:20:20.937693" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:20:20.937867" 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-08-18T20:20:20.932587" elapsed="0.005305"/>
</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-08-18T20:20:20.939289" 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-08-18T20:20:20.938914" elapsed="0.000513">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:20:20.939633" 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-08-18T20:20:20.938527" elapsed="0.001131"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:20:20.939886" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:20:20.939729" elapsed="0.000216"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:20.939711" 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-08-18T20:20:20.940111" elapsed="0.000021"/>
</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-08-18T20:20:20.940280" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:20:20.940345" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:20:20.942317" 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-08-18T20:20:20.938188" elapsed="0.004156"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.943805" 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-08-18T20:20:20.943523" elapsed="0.000328"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:20.944262" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:20.944000" elapsed="0.000305"/>
</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-08-18T20:20:20.951871" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:20:20.952010" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:20:20.952194" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:20.946360" elapsed="0.006208">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:20.944371" elapsed="0.008281">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:20.952892" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:20.952683" elapsed="0.000276"/>
</branch>
<status status="FAIL" start="2026-08-18T20:20:20.944353" elapsed="0.008629">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:20.953486" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:20.953652" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:20:20.953616" elapsed="0.000077"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:20.953598" elapsed="0.000116"/>
</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-08-18T20:20:20.953896" elapsed="0.000022"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:20:20.953966" 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-08-18T20:20:20.942685" elapsed="0.011390">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:20.954162" 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-08-18T20:20:20.803181" elapsed="0.151080">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:20.954533" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:20.954356" elapsed="0.000248"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:20.954340" elapsed="0.000286"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:20.954657" 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-08-18T20:20:20.797444" elapsed="0.157330">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:20:20.792396" elapsed="0.162446">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:20:20.792248" elapsed="0.162650">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:20:20.790057" elapsed="0.164931">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:20.789806" elapsed="0.165236">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:20:20.789790" elapsed="0.165282">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:20.955344" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:20.955136" elapsed="0.000264"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:20.955120" elapsed="0.000303"/>
</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-08-18T20:20:20.788765" elapsed="0.166734">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:30.970177" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:30.969831" elapsed="0.000422"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:30.969805" elapsed="0.000475"/>
</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-08-18T20:20:30.971883" 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-08-18T20:20:30.971409" elapsed="0.000502"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:20:30.972406" 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-08-18T20:20:30.972098" elapsed="0.000333"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:20:30.972480" elapsed="0.000041"/>
</return>
<msg time="2026-08-18T20:20:30.972649" 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-08-18T20:20:30.970993" 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-08-18T20:20:30.974067" 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-08-18T20:20:30.973767" elapsed="0.000326"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:20:30.974138" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:20:30.974285" 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-08-18T20:20:30.973164" elapsed="0.001145"/>
</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-08-18T20:20:31.061731" 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-08-18T20:20:31.061119" elapsed="0.000727"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:20:31.063656" 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-08-18T20:20:31.063391" 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-08-18T20:20:31.063958" 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-08-18T20:20:31.062911" elapsed="0.001147"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:31.065775" 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-08-18T20:20:31.065118" elapsed="0.000756"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:20:31.067195" 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-08-18T20:20:31.067461" 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-08-18T20:20:31.066887" elapsed="0.000669"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:31.069021" 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-08-18T20:20:31.068512" elapsed="0.000614"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:31.070471" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:31.070211" elapsed="0.000304"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:20:31.071058" 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-08-18T20:20:31.070672" elapsed="0.000411"/>
</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-08-18T20:20:31.071392" 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-08-18T20:20:31.071595" elapsed="0.000023"/>
</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-08-18T20:20:31.071803" elapsed="0.000023"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:20:31.071262" elapsed="0.000601"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:20:31.071129" elapsed="0.000765"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:20:31.071938" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:20:31.072121" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:20:31.069849" elapsed="0.002320"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:31.069273" elapsed="0.002936"/>
</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-08-18T20:20:31.072531" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:31.072267" elapsed="0.000343"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:31.069222" elapsed="0.003440"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:20:31.074370" 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-08-18T20:20:31.073650" elapsed="0.000817"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:20:31.074548" 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-08-18T20:20:31.058739" elapsed="0.016146"/>
</kw>
<msg time="2026-08-18T20:20:31.075177" 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-08-18T20:20:31.009012" elapsed="0.066220"/>
</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-08-18T20:20:31.087290" 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-08-18T20:20:31.098983" 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-08-18T20:20:31.110656" 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-08-18T20:20:31.110859" 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-08-18T20:20:31.111030" 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-08-18T20:20:31.111436" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:31.111293" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:31.111278" elapsed="0.000357"/>
</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-08-18T20:20:31.111795" 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-08-18T20:20:31.111961" 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-08-18T20:20:31.112121" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:20:31.111247" elapsed="0.000925"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:20:31.111105" elapsed="0.001093"/>
</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-08-18T20:20:31.112339" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:31.112413" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:20:31.112527" 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-08-18T20:20:31.004959" elapsed="0.107593"/>
</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-08-18T20:20:31.114000" 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-08-18T20:20:31.113582" elapsed="0.000559">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:20:31.114346" 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-08-18T20:20:31.113244" elapsed="0.001127"/>
</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-08-18T20:20:31.114688" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:31.114441" elapsed="0.000361"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:31.115515" 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-08-18T20:20:31.115025" elapsed="0.000517"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:31.114830" elapsed="0.000770"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:31.114423" elapsed="0.001204"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:31.117988" 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-08-18T20:20:31.115800" elapsed="0.002215"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:20:31.118065" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:20:31.118216" 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-08-18T20:20:31.112922" elapsed="0.005319"/>
</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-08-18T20:20:31.119644" 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-08-18T20:20:31.119252" 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-08-18T20:20:31.120021" 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-08-18T20:20:31.118918" elapsed="0.001128"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:20:31.120251" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:20:31.120117" elapsed="0.000193"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:31.120098" elapsed="0.000236"/>
</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-08-18T20:20:31.120477" 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-08-18T20:20:31.120645" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:20:31.120710" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:20:31.122695" 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-08-18T20:20:31.118538" elapsed="0.004183"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:31.124199" 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-08-18T20:20:31.123929" elapsed="0.000315"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:31.124655" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:31.124395" elapsed="0.000303"/>
</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-08-18T20:20:31.132355" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:20:31.132494" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:20:31.132678" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:31.126766" elapsed="0.006307">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:31.124790" elapsed="0.008368">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:31.133338" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:31.133190" elapsed="0.000212"/>
</branch>
<status status="FAIL" start="2026-08-18T20:20:31.124770" elapsed="0.008655">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:31.133967" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:31.134132" elapsed="0.000013"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:20:31.134096" elapsed="0.000076"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:31.134078" elapsed="0.000115"/>
</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-08-18T20:20:31.134332" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:20:31.134400" elapsed="0.000014"/>
</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-08-18T20:20:31.123095" elapsed="0.011412">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:31.134584" 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-08-18T20:20:30.983834" elapsed="0.150850">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:31.134970" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:31.134798" elapsed="0.000243"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:31.134780" elapsed="0.000284"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:31.135096" elapsed="0.000013"/>
</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-08-18T20:20:30.978069" elapsed="0.157122">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:20:30.972996" elapsed="0.162259">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:20:30.972846" elapsed="0.162466">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:20:30.970589" elapsed="0.164814">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:30.970336" elapsed="0.165121">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:20:30.970321" elapsed="0.165166">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:31.135815" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:31.135568" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:31.135552" elapsed="0.000343"/>
</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-08-18T20:20:30.969284" elapsed="0.166688">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:41.150917" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:41.150439" elapsed="0.000575"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:41.150406" elapsed="0.000643"/>
</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-08-18T20:20:41.153181" 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-08-18T20:20:41.152607" elapsed="0.000602"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.153673" 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-08-18T20:20:41.153370" elapsed="0.000329"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:20:41.153761" elapsed="0.000038"/>
</return>
<msg time="2026-08-18T20:20:41.153929" 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-08-18T20:20:41.152019" elapsed="0.001935"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.155450" 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-08-18T20:20:41.155083" elapsed="0.000394"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:20:41.155524" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:20:41.155703" 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-08-18T20:20:41.154719" elapsed="0.001010"/>
</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-08-18T20:20:41.245864" 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-08-18T20:20:41.245234" elapsed="0.000728"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:20:41.247788" 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-08-18T20:20:41.247510" 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-08-18T20:20:41.248081" 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-08-18T20:20:41.247026" elapsed="0.001149"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.249888" 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-08-18T20:20:41.249234" elapsed="0.000751"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:20:41.251300" 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-08-18T20:20:41.251563" 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-08-18T20:20:41.250991" elapsed="0.000666"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.253122" 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-08-18T20:20:41.252613" elapsed="0.000615"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.254572" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:41.254312" elapsed="0.000304"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.255156" 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-08-18T20:20:41.254888" elapsed="0.000294"/>
</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-08-18T20:20:41.255494" 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-08-18T20:20:41.257427" 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-08-18T20:20:41.257611" elapsed="0.000023"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:20:41.255363" elapsed="0.002307"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:20:41.255230" elapsed="0.002472"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:20:41.257767" elapsed="0.000032"/>
</return>
<msg time="2026-08-18T20:20:41.257962" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:20:41.253951" elapsed="0.004060"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:41.253380" elapsed="0.004672"/>
</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-08-18T20:20:41.258380" elapsed="0.000036"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:41.258111" elapsed="0.000349"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:41.253323" elapsed="0.005191"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.260196" 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-08-18T20:20:41.259466" elapsed="0.000828"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:20:41.260378" 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-08-18T20:20:41.243014" elapsed="0.017663"/>
</kw>
<msg time="2026-08-18T20:20:41.260993" 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-08-18T20:20:41.192620" elapsed="0.068429"/>
</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-08-18T20:20:41.272884" 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-08-18T20:20:41.284537" 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-08-18T20:20:41.296250" 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-08-18T20:20:41.296441" 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-08-18T20:20:41.296611" 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-08-18T20:20:41.297031" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:41.296890" elapsed="0.000294"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:41.296875" elapsed="0.000335"/>
</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-08-18T20:20:41.297347" elapsed="0.000020"/>
</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-08-18T20:20:41.297512" 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-08-18T20:20:41.297675" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:20:41.296843" elapsed="0.000885"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:20:41.296686" elapsed="0.001088"/>
</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-08-18T20:20:41.297917" elapsed="0.000021"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:41.297994" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:20:41.298107" 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-08-18T20:20:41.186975" elapsed="0.111157"/>
</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-08-18T20:20:41.299540" 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-08-18T20:20:41.299161" elapsed="0.000519">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:20:41.299929" 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-08-18T20:20:41.298815" elapsed="0.001141"/>
</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-08-18T20:20:41.300267" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:41.300027" elapsed="0.000328"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.301096" 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-08-18T20:20:41.300573" elapsed="0.000550"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:41.300381" elapsed="0.000778"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:41.300008" elapsed="0.001173"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.303536" 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-08-18T20:20:41.301329" elapsed="0.002234"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:20:41.303615" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:20:41.303786" 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-08-18T20:20:41.298478" elapsed="0.005334"/>
</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-08-18T20:20:41.305195" 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-08-18T20:20:41.304820" elapsed="0.000513">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:20:41.305539" 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-08-18T20:20:41.304442" elapsed="0.001122"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:20:41.305792" elapsed="0.000027"/>
</return>
<status status="PASS" start="2026-08-18T20:20:41.305635" elapsed="0.000217"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:41.305617" elapsed="0.000258"/>
</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-08-18T20:20:41.306020" 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-08-18T20:20:41.306189" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:20:41.306255" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:20:41.308269" 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-08-18T20:20:41.304125" elapsed="0.004171"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.309737" 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-08-18T20:20:41.309469" elapsed="0.000335"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:41.310222" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:41.309959" 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-08-18T20:20:41.318651" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:20:41.318851" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:20:41.319057" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:41.312347" elapsed="0.007088">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:41.310334" elapsed="0.009185">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:41.319702" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:41.319551" elapsed="0.000247"/>
</branch>
<status status="FAIL" start="2026-08-18T20:20:41.310316" elapsed="0.009505">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:41.320363" elapsed="0.000027"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:41.320532" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:20:41.320495" elapsed="0.000077"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:41.320476" 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-08-18T20:20:41.320731" elapsed="0.000041"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:20:41.320822" 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-08-18T20:20:41.308632" elapsed="0.012299">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:41.321006" 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-08-18T20:20:41.165257" elapsed="0.155845">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:41.321367" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:41.321193" elapsed="0.000245"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:41.321177" elapsed="0.000284"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:41.321492" 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-08-18T20:20:41.159484" elapsed="0.162104">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:20:41.154332" elapsed="0.167320">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:20:41.154188" elapsed="0.167520">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:20:41.151467" elapsed="0.170367">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:41.151124" elapsed="0.170765">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:20:41.151102" elapsed="0.170816">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:41.322193" elapsed="0.000024"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:41.321982" elapsed="0.000267"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:41.321966" elapsed="0.000306"/>
</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-08-18T20:20:41.149764" elapsed="0.172584">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:51.337683" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:51.337296" elapsed="0.000485"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:51.337253" elapsed="0.000557"/>
</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-08-18T20:20:51.339436" 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-08-18T20:20:51.338971" elapsed="0.000494"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.339980" 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-08-18T20:20:51.339646" elapsed="0.000360"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:20:51.340055" elapsed="0.000042"/>
</return>
<msg time="2026-08-18T20:20:51.340228" 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-08-18T20:20:51.338535" elapsed="0.001717"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.341647" 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-08-18T20:20:51.341082" elapsed="0.000593"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:20:51.341723" elapsed="0.000044"/>
</return>
<msg time="2026-08-18T20:20:51.341891" 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-08-18T20:20:51.340721" elapsed="0.001195"/>
</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-08-18T20:20:51.429547" 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-08-18T20:20:51.428940" elapsed="0.000705"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:20:51.431518" 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-08-18T20:20:51.431258" 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-08-18T20:20:51.431806" 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-08-18T20:20:51.430642" elapsed="0.001258"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.433600" 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-08-18T20:20:51.432959" elapsed="0.000738"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:20:51.435018" 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-08-18T20:20:51.435276" 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-08-18T20:20:51.434658" elapsed="0.000713"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.436722" 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-08-18T20:20:51.436330" elapsed="0.000672"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.438391" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:51.438112" elapsed="0.000326"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.438970" 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-08-18T20:20:51.438619" elapsed="0.000377"/>
</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-08-18T20:20:51.439338" 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-08-18T20:20:51.439541" 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-08-18T20:20:51.439712" elapsed="0.000021"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:20:51.439178" elapsed="0.000606"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:20:51.439044" elapsed="0.000771"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:20:51.439859" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:20:51.440042" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:20:51.437718" elapsed="0.002373"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:51.437153" elapsed="0.002979"/>
</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-08-18T20:20:51.440469" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:51.440191" elapsed="0.000356"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:51.437102" elapsed="0.003498"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.442463" 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-08-18T20:20:51.441602" elapsed="0.000960"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:20:51.442649" 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-08-18T20:20:51.426576" elapsed="0.016423"/>
</kw>
<msg time="2026-08-18T20:20:51.443295" 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-08-18T20:20:51.376860" elapsed="0.066490"/>
</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-08-18T20:20:51.455517" 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-08-18T20:20:51.467259" 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-08-18T20:20:51.479086" 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-08-18T20:20:51.479282" 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-08-18T20:20:51.479458" 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-08-18T20:20:51.479887" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:51.479721" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:51.479705" 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-08-18T20:20:51.480205" 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-08-18T20:20:51.480368" 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-08-18T20:20:51.480530" elapsed="0.000020"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:20:51.479675" elapsed="0.000907"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:20:51.479532" elapsed="0.001076"/>
</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-08-18T20:20:51.480766" elapsed="0.000022"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:51.480844" elapsed="0.000016"/>
</return>
<msg time="2026-08-18T20:20:51.480960" 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-08-18T20:20:51.372806" elapsed="0.108179"/>
</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-08-18T20:20:51.482404" 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-08-18T20:20:51.482026" 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-08-18T20:20:51.482785" 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-08-18T20:20:51.481655" elapsed="0.001157"/>
</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-08-18T20:20:51.483125" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:51.482883" elapsed="0.000331"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.483951" 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-08-18T20:20:51.483435" elapsed="0.000543"/>
</kw>
<status status="PASS" start="2026-08-18T20:20:51.483240" elapsed="0.000774"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:51.482865" elapsed="0.001170"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.486421" 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-08-18T20:20:51.484186" elapsed="0.002261"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:20:51.486498" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:20:51.486652" 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-08-18T20:20:51.481334" elapsed="0.005343"/>
</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-08-18T20:20:51.488134" 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-08-18T20:20:51.487698" elapsed="0.000576">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/volatiles.list' does not exist.</status>
</kw>
<msg time="2026-08-18T20:20:51.488480" 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-08-18T20:20:51.487355" elapsed="0.001151"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:20:51.488712" elapsed="0.000026"/>
</return>
<status status="PASS" start="2026-08-18T20:20:51.488578" elapsed="0.000216"/>
</branch>
<status status="PASS" start="2026-08-18T20:20:51.488559" elapsed="0.000258"/>
</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-08-18T20:20:51.488965" 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-08-18T20:20:51.489133" elapsed="0.000021"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:20:51.489198" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:20:51.491229" 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-08-18T20:20:51.487035" elapsed="0.004221"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.492706" 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-08-18T20:20:51.492437" elapsed="0.000331"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:20:51.493183" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:20:51.492921" elapsed="0.000306"/>
</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-08-18T20:20:51.500202" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:20:51.500341" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:20:51.500528" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:51.495304" elapsed="0.005644">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:51.493294" elapsed="0.007740">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:51.501220" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:51.501070" elapsed="0.000215"/>
</branch>
<status status="FAIL" start="2026-08-18T20:20:51.493275" elapsed="0.008033">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:51.501875" elapsed="0.000028"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:51.502046" elapsed="0.000014"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:20:51.502009" elapsed="0.000078"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:51.501990" elapsed="0.000118"/>
</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-08-18T20:20:51.502250" elapsed="0.000021"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:20:51.502318" 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-08-18T20:20:51.491593" elapsed="0.010834">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:51.502501" 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-08-18T20:20:51.351555" elapsed="0.151042">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:51.502901" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:51.502687" elapsed="0.000287"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:51.502671" elapsed="0.000327"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:20:51.503029" 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-08-18T20:20:51.345670" elapsed="0.157457">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:20:51.340554" elapsed="0.162637">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:20:51.340406" elapsed="0.162840">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:20:51.338136" elapsed="0.165200">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:20:51.337870" elapsed="0.165520">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:20:51.337853" elapsed="0.165567">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:20:51.503701" elapsed="0.000025"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:20:51.503491" elapsed="0.000290"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:20:51.503474" elapsed="0.000331"/>
</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-08-18T20:20:51.336465" elapsed="0.167418">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:21:01.519971" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:01.519492" elapsed="0.000577"/>
</branch>
<status status="PASS" start="2026-08-18T20:21:01.519460" elapsed="0.000645"/>
</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-08-18T20:21:01.522261" 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-08-18T20:21:01.521633" elapsed="0.000667"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.523006" 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-08-18T20:21:01.522554" elapsed="0.000498"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:21:01.523132" elapsed="0.000059"/>
</return>
<msg time="2026-08-18T20:21:01.523394" 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-08-18T20:21:01.521074" elapsed="0.002355"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Resolve_Http_Session_For_Member" owner="ClusterManagement">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.524952" 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-08-18T20:21:01.524634" elapsed="0.000345"/>
</kw>
<return>
<value>${session}</value>
<status status="PASS" start="2026-08-18T20:21:01.525025" elapsed="0.000029"/>
</return>
<msg time="2026-08-18T20:21:01.525175" 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-08-18T20:21:01.524036" elapsed="0.001165"/>
</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-08-18T20:21:01.612876" 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-08-18T20:21:01.612249" elapsed="0.000726"/>
</kw>
<kw name="Run Keyword And Return Status" owner="BuiltIn">
<kw name="File Should Exist" owner="OperatingSystem">
<msg time="2026-08-18T20:21:01.614792" 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-08-18T20:21:01.614519" elapsed="0.000349">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-08-18T20:21:01.615061" 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-08-18T20:21:01.614029" elapsed="0.001127"/>
</kw>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.616876" 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-08-18T20:21:01.616216" elapsed="0.000756"/>
</kw>
<kw name="Get File" owner="OperatingSystem">
<msg time="2026-08-18T20:21:01.618319" 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-08-18T20:21:01.618577" 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-08-18T20:21:01.617985" elapsed="0.000686"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.620166" 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-08-18T20:21:01.619643" elapsed="0.000629"/>
</kw>
<if>
<branch type="IF" condition="${percent_encode} == True">
<kw name="Encode_Mapping" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.621642" level="INFO">mapping: {}</msg>
<arg>mapping: ${mapping}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:21:01.621354" elapsed="0.000343"/>
</kw>
<kw name="Create Dictionary" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.622336" 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-08-18T20:21:01.621987" elapsed="0.000381"/>
</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-08-18T20:21:01.622788" 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-08-18T20:21:01.623036" 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-08-18T20:21:01.623223" elapsed="0.000022"/>
</kw>
<var name="${key}"/>
<var name="${value}"/>
<status status="NOT RUN" start="2026-08-18T20:21:01.622591" elapsed="0.000694"/>
</iter>
<var>${key}</var>
<var>${value}</var>
<value>&amp;{mapping}</value>
<status status="NOT RUN" start="2026-08-18T20:21:01.622428" elapsed="0.000897"/>
</for>
<return>
<value>${encoded_mapping}</value>
<status status="PASS" start="2026-08-18T20:21:01.623370" elapsed="0.000031"/>
</return>
<msg time="2026-08-18T20:21:01.623556" level="INFO">${mapping_to_use} = {}</msg>
<var>${mapping_to_use}</var>
<arg>${mapping}</arg>
<status status="PASS" start="2026-08-18T20:21:01.620988" elapsed="0.002617"/>
</kw>
<status status="PASS" start="2026-08-18T20:21:01.620419" elapsed="0.003226"/>
</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-08-18T20:21:01.624031" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:01.623701" elapsed="0.000409"/>
</branch>
<status status="PASS" start="2026-08-18T20:21:01.620369" elapsed="0.003794"/>
</if>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.625832" 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-08-18T20:21:01.625103" elapsed="0.000826"/>
</kw>
<return>
<value>${final_text}</value>
<status status="PASS" start="2026-08-18T20:21:01.626011" 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-08-18T20:21:01.610021" elapsed="0.016302"/>
</kw>
<msg time="2026-08-18T20:21:01.626617" 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-08-18T20:21:01.560034" elapsed="0.066639"/>
</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-08-18T20:21:01.638840" 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-08-18T20:21:01.650616" 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-08-18T20:21:01.662406" 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-08-18T20:21:01.662597" 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-08-18T20:21:01.662782" 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-08-18T20:21:01.663191" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:01.663047" elapsed="0.000295"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:01.663031" elapsed="0.000337"/>
</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-08-18T20:21:01.663509" 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-08-18T20:21:01.663672" 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-08-18T20:21:01.663856" elapsed="0.000022"/>
</kw>
<var name="${iteration}"/>
<status status="NOT RUN" start="2026-08-18T20:21:01.663001" elapsed="0.000910"/>
</iter>
<var>${iteration}</var>
<value>${iter_start}</value>
<value>${iterations}+${iter_start}</value>
<status status="NOT RUN" start="2026-08-18T20:21:01.662858" elapsed="0.001079"/>
</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-08-18T20:21:01.664080" elapsed="0.000020"/>
</kw>
<return>
<value>${final_text}</value>
<status status="NOT RUN" start="2026-08-18T20:21:01.664155" elapsed="0.000015"/>
</return>
<msg time="2026-08-18T20:21:01.664270" 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-08-18T20:21:01.555969" elapsed="0.108327"/>
</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-08-18T20:21:01.665696" 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-08-18T20:21:01.665319" elapsed="0.000544">File '/w/workspace/openflowplugin-csit-1node-sanity-only-titanium/test/csit/variables/restconf/modules/jmespath.expr' does not exist.</status>
</kw>
<msg time="2026-08-18T20:21:01.666099" 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-08-18T20:21:01.664985" elapsed="0.001143"/>
</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-08-18T20:21:01.666447" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:01.666205" elapsed="0.000330"/>
</branch>
<branch type="ELSE">
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.667302" 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-08-18T20:21:01.666783" elapsed="0.000545"/>
</kw>
<status status="PASS" start="2026-08-18T20:21:01.666562" elapsed="0.000801"/>
</branch>
<status status="PASS" start="2026-08-18T20:21:01.666182" elapsed="0.001203"/>
</if>
<kw name="Set Variable If" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.669736" 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-08-18T20:21:01.667534" elapsed="0.002249"/>
</kw>
<return>
<value>${expression}</value>
<status status="PASS" start="2026-08-18T20:21:01.669834" elapsed="0.000030"/>
</return>
<msg time="2026-08-18T20:21:01.669988" 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-08-18T20:21:01.664648" elapsed="0.005365"/>
</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-08-18T20:21:01.671439" 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-08-18T20:21:01.671035" 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-08-18T20:21:01.671817" 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-08-18T20:21:01.670639" elapsed="0.001204"/>
</kw>
<if>
<branch type="IF" condition="${read_volatiles_file} == ${false}">
<return>
<value>${EMPTY}</value>
<status status="PASS" start="2026-08-18T20:21:01.672049" elapsed="0.000027"/>
</return>
<status status="PASS" start="2026-08-18T20:21:01.671915" elapsed="0.000194"/>
</branch>
<status status="PASS" start="2026-08-18T20:21:01.671896" elapsed="0.000236"/>
</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-08-18T20:21:01.672276" elapsed="0.000021"/>
</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-08-18T20:21:01.672444" elapsed="0.000020"/>
</kw>
<return>
<value>${volatiles_list}</value>
<status status="NOT RUN" start="2026-08-18T20:21:01.672509" elapsed="0.000014"/>
</return>
<msg time="2026-08-18T20:21:01.674501" 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-08-18T20:21:01.670320" elapsed="0.004207"/>
</kw>
<kw name="Get_From_Uri" owner="TemplatedRequests">
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.675992" 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-08-18T20:21:01.675702" elapsed="0.000336"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.676448" level="INFO">{}</msg>
<arg>${accept}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:21:01.676188" elapsed="0.000303"/>
</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-08-18T20:21:01.685997" level="INFO">GET Request : url=http://10.30.171.138: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-08-18T20:21:01.686307" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:01.686713" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:21:01.678567" elapsed="0.008963">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:21:01.676558" elapsed="0.011150">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:21:01.688160" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:01.687820" elapsed="0.000482"/>
</branch>
<status status="FAIL" start="2026-08-18T20:21:01.676540" elapsed="0.011812">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:21:01.689523" elapsed="0.000058"/>
</kw>
<if>
<branch type="IF" condition="not ${normalize_json}">
<return>
<value>${response.text}</value>
<status status="NOT RUN" start="2026-08-18T20:21:01.689931" elapsed="0.000075"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:21:01.689848" elapsed="0.000224"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:01.689807" elapsed="0.000312"/>
</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-08-18T20:21:01.690434" elapsed="0.000048"/>
</kw>
<return>
<value>${text_normalized}</value>
<status status="NOT RUN" start="2026-08-18T20:21:01.690583" elapsed="0.000026"/>
</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-08-18T20:21:01.674911" elapsed="0.015907">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:21:01.690930" elapsed="0.000021"/>
</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-08-18T20:21:01.534767" elapsed="0.156297">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:21:01.691434" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:01.691192" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:01.691169" elapsed="0.000396"/>
</if>
<return>
<value>${response_text}</value>
<status status="NOT RUN" start="2026-08-18T20:21:01.691608" 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-08-18T20:21:01.528938" elapsed="0.162830">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<var name="${index}">1</var>
<status status="FAIL" start="2026-08-18T20:21:01.523849" elapsed="0.168014">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="FAIL" start="2026-08-18T20:21:01.523604" elapsed="0.168337">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</for>
<arg>${member_index_list}</arg>
<status status="FAIL" start="2026-08-18T20:21:01.520529" elapsed="0.171540">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<status status="FAIL" start="2026-08-18T20:21:01.520181" elapsed="0.171964">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</branch>
<status status="FAIL" start="2026-08-18T20:21:01.520159" elapsed="0.172028">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:21:01.692572" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:01.692278" elapsed="0.000373"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:01.692255" elapsed="0.000428"/>
</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-08-18T20:21:01.518820" elapsed="0.174005">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<msg time="2026-08-18T20:21:01.692968" 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.171.138: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-08-18T20:14:54.621276" elapsed="367.071824">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.171.138: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-08-18T20:21:01.697639" 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-08-18T20:21:01.697102" elapsed="0.000576"/>
</kw>
<kw name="Create List" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.698340" 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-08-18T20:21:01.697916" elapsed="0.000460"/>
</kw>
<return>
<value>${return_list_copy}</value>
<status status="PASS" start="2026-08-18T20:21:01.698439" elapsed="0.000040"/>
</return>
<msg time="2026-08-18T20:21:01.698707" 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-08-18T20:21:01.696521" elapsed="0.002240"/>
</kw>
<for flavor="IN">
<iter>
<kw name="Run_Bash_Command_On_Member" owner="ClusterManagement">
<kw name="Get From Dictionary" owner="Collections">
<msg time="2026-08-18T20:21:01.700247" level="INFO">${member_ip} = 10.30.171.138</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-08-18T20:21:01.699872" elapsed="0.000412"/>
</kw>
<kw name="Run_Keyword_Preserve_Connection" owner="SSHKeywords">
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:21:01.701613" level="INFO">index=20
host=10.30.171.230
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-08-18T20:21:01.701776" level="INFO">${current_connection} = index=20
host=10.30.171.230
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-08-18T20:21:01.701196" elapsed="0.000620"/>
</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-08-18T20:21:01.704822" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:01.704515" elapsed="0.000365"/>
</branch>
<status status="PASS" start="2026-08-18T20:21:01.704495" elapsed="0.000408"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:21:01.705152" level="INFO">index=20
host=10.30.171.230
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-08-18T20:21:01.705250" level="INFO">${current_ssh_connection} = index=20
host=10.30.171.230
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-08-18T20:21:01.705046" elapsed="0.000231"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.706035" level="INFO">Attempting to execute command "netstat -pnatu | grep 2550" on remote system "10.30.171.138" 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-08-18T20:21:01.705425" elapsed="0.000657"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:21:01.706776" 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-08-18T20:21:01.706238" elapsed="0.000566"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:21:01.708232" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:21:01.708369" 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-08-18T20:21:01.707511" elapsed="0.000896"/>
</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-08-18T20:21:01.708631" elapsed="0.000627"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:21:01.711438" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:21:02.303651" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:21:01 UTC 2026

  System load:  0.44               Processes:             121
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 7%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:14:54 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:21:01.710952" elapsed="0.592947"/>
</kw>
<msg time="2026-08-18T20:21:02.304000" 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-08-18T20:21:01.709522" elapsed="0.594604"/>
</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-08-18T20:21:01.707020" elapsed="0.597315"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:21:02.304884" level="INFO">Executing command 'netstat -pnatu | grep 2550'.</msg>
<msg time="2026-08-18T20:21:02.317887" level="INFO">Command exited with return code 1.</msg>
<msg time="2026-08-18T20:21:02.318129" level="INFO">${stdout} = </msg>
<msg time="2026-08-18T20:21:02.318227" 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-08-18T20:21:02.304573" elapsed="0.013706"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:21:02.318735" elapsed="0.000879"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:21:02.320879" 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-08-18T20:21:02.320116" elapsed="0.000869"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:21:02.321450" elapsed="0.000036"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:21:02.321160" elapsed="0.000400"/>
</branch>
<status status="PASS" start="2026-08-18T20:21:02.321111" elapsed="0.000501"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:21:02.322000" elapsed="0.000059"/>
</return>
<status status="PASS" start="2026-08-18T20:21:02.321727" elapsed="0.000406"/>
</branch>
<status status="PASS" start="2026-08-18T20:21:02.321694" elapsed="0.000491"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:21:02.322260" 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-08-18T20:21:02.342139" elapsed="0.000324"/>
</kw>
<msg time="2026-08-18T20:21:02.342540" 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-08-18T20:21:02.340314" elapsed="0.002335"/>
</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-08-18T20:21:02.342865" elapsed="0.000024"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:21:02.343047" elapsed="0.000021"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:21:02.322982" elapsed="0.020147"/>
</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-08-18T20:21:01.703972" elapsed="0.639245"/>
</kw>
<msg time="2026-08-18T20:21:02.343268" 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-08-18T20:21:01.703339" elapsed="0.639988"/>
</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-08-18T20:21:01.702788" elapsed="0.640615"/>
</kw>
<msg time="2026-08-18T20:21:02.343442" 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-08-18T20:21:01.702072" elapsed="0.641426"/>
</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-08-18T20:21:02.346729" elapsed="0.000157"/>
</kw>
<msg time="2026-08-18T20:21:02.346927" 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-08-18T20:21:02.346236" elapsed="0.000752"/>
</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-08-18T20:21:02.347151" elapsed="0.000021"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="NOT RUN" start="2026-08-18T20:21:02.347308" 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-08-18T20:21:02.343873" elapsed="0.003514"/>
</kw>
<msg time="2026-08-18T20:21:02.347477" 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-08-18T20:21:01.700581" elapsed="0.646922"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:21:02.347954" level="INFO"/>
<arg>${output}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:21:02.347689" elapsed="0.000321"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-08-18T20:21:02.348053" elapsed="0.000031"/>
</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-08-18T20:21:01.699256" elapsed="0.648927"/>
</kw>
<var name="${index}">1</var>
<status status="PASS" start="2026-08-18T20:21:01.699015" elapsed="0.649206"/>
</iter>
<var>${index}</var>
<value>@{index_list}</value>
<status status="PASS" start="2026-08-18T20:21:01.698836" elapsed="0.649422"/>
</for>
<arg>command=netstat -pnatu | grep 2550</arg>
<doc>Cycle through indices (or all), run command on each.</doc>
<status status="PASS" start="2026-08-18T20:21:01.693514" elapsed="0.654802"/>
</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-08-18T20:14:54.190268" elapsed="368.158132">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.171.138:8181/rests/data/ietf-yang-library:modules-state?content=nonconfig</status>
</kw>
<doc>Stop and Start controller.</doc>
<status status="FAIL" start="2026-08-18T20:14:47.877358" elapsed="374.471217">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.171.138: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-08-18T20:21:02.363401" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:02.363459" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:02.363621" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:02.350465" elapsed="0.014183">Url: http://10.30.171.138: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-08-18T20:21:02.365148" 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-08-18T20:21:02.366099" 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-08-18T20:21:02.366528" 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-08-18T20:21:02.366986" 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-08-18T20:21:02.367404" elapsed="0.000044"/>
</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-08-18T20:21:02.367848" elapsed="0.000045"/>
</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-08-18T20:21:02.368295" 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-08-18T20:21:02.368902" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:02.368490" elapsed="0.000531"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:02.368450" elapsed="0.000623"/>
</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-08-18T20:21:02.369832" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:02.369185" elapsed="0.000777"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:02.369152" elapsed="0.000862"/>
</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-08-18T20:21:02.370488" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:02.370128" elapsed="0.000475"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:02.370095" elapsed="0.000558"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:02.365706" elapsed="0.004995"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:02.365312" elapsed="0.005474"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:02.350145" elapsed="0.020849">Url: http://10.30.171.138: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-08-18T20:21:04.380002" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:04.380088" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:04.380255" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:04.373681" elapsed="0.007254">Url: http://10.30.171.138: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-08-18T20:21:04.381265" 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-08-18T20:21:04.381987" 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-08-18T20:21:04.382266" 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-08-18T20:21:04.382530" 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-08-18T20:21:04.382825" 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-08-18T20:21:04.383090" 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-08-18T20:21:04.383352" 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-08-18T20:21:04.383710" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:04.383476" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:04.383450" 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-08-18T20:21:04.384139" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:04.383912" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:04.383891" elapsed="0.000354"/>
</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-08-18T20:21:04.384543" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:04.384315" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:04.384294" elapsed="0.000354"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:04.381629" elapsed="0.003049"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:04.381372" elapsed="0.003342"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:04.372845" elapsed="0.012027">Url: http://10.30.171.138: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-08-18T20:21:06.393242" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:06.393329" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:06.393485" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:06.387103" elapsed="0.006994">Url: http://10.30.171.138: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-08-18T20:21:06.394458" 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-08-18T20:21:06.395075" 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-08-18T20:21:06.395350" 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-08-18T20:21:06.395614" 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-08-18T20:21:06.395895" 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-08-18T20:21:06.396159" 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-08-18T20:21:06.396421" 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-08-18T20:21:06.396883" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:06.396625" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:06.396598" 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-08-18T20:21:06.397294" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:06.397065" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:06.397043" elapsed="0.000357"/>
</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-08-18T20:21:06.397699" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:06.397471" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:06.397450" elapsed="0.000376"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:06.394846" elapsed="0.003011"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:06.394565" elapsed="0.003328"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:06.386163" elapsed="0.011866">Url: http://10.30.171.138: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-08-18T20:21:08.407796" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:08.407934" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:08.408192" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:08.400574" elapsed="0.008579">Url: http://10.30.171.138: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-08-18T20:21:08.409675" 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-08-18T20:21:08.410649" 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-08-18T20:21:08.411175" 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-08-18T20:21:08.411607" 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-08-18T20:21:08.411976" 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-08-18T20:21:08.412244" 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-08-18T20:21:08.412508" 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-08-18T20:21:08.412952" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:08.412635" elapsed="0.000403"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:08.412608" 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-08-18T20:21:08.413380" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:08.413148" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:08.413127" elapsed="0.000361"/>
</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-08-18T20:21:08.413828" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:08.413563" elapsed="0.000343"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:08.413537" elapsed="0.000400"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:08.410286" elapsed="0.003682"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:08.409879" elapsed="0.004126"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:08.399494" elapsed="0.014656">Url: http://10.30.171.138: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-08-18T20:21:10.422691" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:10.422806" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:10.422963" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:10.416496" elapsed="0.007060">Url: http://10.30.171.138: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-08-18T20:21:10.423930" 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-08-18T20:21:10.424526" 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-08-18T20:21:10.424821" 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-08-18T20:21:10.425087" 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-08-18T20:21:10.425350" 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-08-18T20:21:10.425611" 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-08-18T20:21:10.425896" 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-08-18T20:21:10.426260" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:10.426024" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:10.425998" elapsed="0.000373"/>
</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-08-18T20:21:10.426671" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:10.426443" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:10.426422" 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-08-18T20:21:10.427098" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:10.426869" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:10.426848" elapsed="0.000355"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:10.424297" elapsed="0.002936"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:10.424039" elapsed="0.003229"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:10.415557" elapsed="0.011847">Url: http://10.30.171.138: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-08-18T20:21:12.436770" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:12.436956" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:12.437237" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:12.429699" elapsed="0.008546">Url: http://10.30.171.138: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-08-18T20:21:12.439021" 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-08-18T20:21:12.440056" 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-08-18T20:21:12.443392" 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-08-18T20:21:12.443677" 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-08-18T20:21:12.443979" 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-08-18T20:21:12.444244" elapsed="0.000027"/>
</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-08-18T20:21:12.444510" 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-08-18T20:21:12.444909" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:12.444642" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:12.444613" 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-08-18T20:21:12.445325" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:12.445096" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:12.445075" elapsed="0.000357"/>
</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-08-18T20:21:12.445790" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:12.445521" elapsed="0.000348"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:12.445499" elapsed="0.000402"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:12.439662" elapsed="0.006271"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:12.439209" elapsed="0.006762"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:12.428705" elapsed="0.017415">Url: http://10.30.171.138: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-08-18T20:21:14.454798" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:14.454888" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:14.455059" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:14.448398" elapsed="0.007303">Url: http://10.30.171.138: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-08-18T20:21:14.456075" 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-08-18T20:21:14.456697" 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-08-18T20:21:14.456994" 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-08-18T20:21:14.457259" 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-08-18T20:21:14.457560" elapsed="0.000039"/>
</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-08-18T20:21:14.457897" 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-08-18T20:21:14.458180" 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-08-18T20:21:14.458556" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:14.458314" elapsed="0.000404"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:14.458286" elapsed="0.000490"/>
</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-08-18T20:21:14.459100" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:14.458858" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:14.458836" 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-08-18T20:21:14.459539" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:14.459286" elapsed="0.000333"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:14.459265" elapsed="0.000387"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:14.456463" elapsed="0.003221"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:14.456186" elapsed="0.003537"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:14.447448" elapsed="0.012439">Url: http://10.30.171.138: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-08-18T20:21:16.465433" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:16.465499" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:16.465648" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:16.461155" elapsed="0.005189">Url: http://10.30.171.138: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-08-18T20:21:16.466893" 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-08-18T20:21:16.467869" elapsed="0.000051"/>
</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-08-18T20:21:16.468321" 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-08-18T20:21:16.468780" 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-08-18T20:21:16.469215" 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-08-18T20:21:16.469696" elapsed="0.000075"/>
</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-08-18T20:21:16.470148" 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-08-18T20:21:16.470520" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:16.470280" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:16.470251" elapsed="0.000378"/>
</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-08-18T20:21:16.470956" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:16.470705" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:16.470682" 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-08-18T20:21:16.471390" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:16.471157" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:16.471135" elapsed="0.000365"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:16.467472" elapsed="0.004059"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:16.467067" elapsed="0.004501"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:16.460665" elapsed="0.011040">Url: http://10.30.171.138: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-08-18T20:21:18.480946" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:18.481177" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:18.481403" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:18.474059" elapsed="0.008168">Url: http://10.30.171.138: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-08-18T20:21:18.482617" 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-08-18T20:21:18.483400" 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-08-18T20:21:18.483729" elapsed="0.000092"/>
</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-08-18T20:21:18.484119" 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-08-18T20:21:18.484483" 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-08-18T20:21:18.484777" 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-08-18T20:21:18.485051" 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-08-18T20:21:18.485473" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:18.485227" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:18.485151" elapsed="0.000432"/>
</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-08-18T20:21:18.485912" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:18.485658" elapsed="0.000331"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:18.485637" 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-08-18T20:21:18.486338" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:18.486094" elapsed="0.000377"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:18.486072" elapsed="0.000430"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:18.483114" elapsed="0.003420"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:18.482797" elapsed="0.003774"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:18.473108" elapsed="0.013603">Url: http://10.30.171.138: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-08-18T20:21:20.495320" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:20.495407" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:20.495564" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:20.488948" elapsed="0.007232">Url: http://10.30.171.138: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-08-18T20:21:20.496520" 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-08-18T20:21:20.497135" 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-08-18T20:21:20.497410" elapsed="0.000111"/>
</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-08-18T20:21:20.497788" 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-08-18T20:21:20.498058" 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-08-18T20:21:20.498323" elapsed="0.000027"/>
</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-08-18T20:21:20.498609" 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-08-18T20:21:20.498999" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:20.498758" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:20.498716" 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-08-18T20:21:20.499475" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:20.499219" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:20.499193" 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-08-18T20:21:20.499926" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:20.499664" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:20.499641" elapsed="0.000399"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:20.496907" elapsed="0.003168"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:20.496626" elapsed="0.003488"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:20.488016" elapsed="0.012258">Url: http://10.30.171.138: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-08-18T20:21:22.508821" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:22.508954" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:22.509191" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:22.502462" elapsed="0.007721">Url: http://10.30.171.138: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-08-18T20:21:22.510541" 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-08-18T20:21:22.511505" 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-08-18T20:21:22.511804" 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-08-18T20:21:22.512073" 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-08-18T20:21:22.512340" 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-08-18T20:21:22.512603" 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-08-18T20:21:22.512889" 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-08-18T20:21:22.513254" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:22.513016" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:22.512990" elapsed="0.000374"/>
</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-08-18T20:21:22.513682" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:22.513437" elapsed="0.000402"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:22.513416" 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-08-18T20:21:22.514184" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:22.513953" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:22.513931" elapsed="0.000359"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:22.511266" elapsed="0.003056"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:22.510648" elapsed="0.003710"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:22.501522" elapsed="0.012976">Url: http://10.30.171.138: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-08-18T20:21:24.523437" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:24.523523" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:24.523682" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:24.516812" elapsed="0.007507">Url: http://10.30.171.138: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-08-18T20:21:24.524696" 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-08-18T20:21:24.525329" 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-08-18T20:21:24.525601" 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-08-18T20:21:24.525887" 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-08-18T20:21:24.526154" 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-08-18T20:21:24.526427" 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-08-18T20:21:24.526697" 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-08-18T20:21:24.527088" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:24.526846" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:24.526818" 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-08-18T20:21:24.527506" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:24.527272" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:24.527251" elapsed="0.000363"/>
</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-08-18T20:21:24.527936" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:24.527685" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:24.527664" elapsed="0.000381"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:24.525097" elapsed="0.002979"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:24.524831" elapsed="0.003281"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:24.515867" elapsed="0.012386">Url: http://10.30.171.138: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-08-18T20:21:26.535099" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:26.535237" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:26.535675" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:26.529874" elapsed="0.006661">Url: http://10.30.171.138: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-08-18T20:21:26.536901" 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-08-18T20:21:26.537503" 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-08-18T20:21:26.537798" 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-08-18T20:21:26.538066" 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-08-18T20:21:26.538331" 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-08-18T20:21:26.538597" 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-08-18T20:21:26.538883" 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-08-18T20:21:26.539251" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:26.539013" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:26.538986" 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-08-18T20:21:26.539693" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:26.539437" elapsed="0.000358"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:26.539415" 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-08-18T20:21:26.540134" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:26.539903" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:26.539882" elapsed="0.000360"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:26.537274" elapsed="0.003000"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:26.537009" elapsed="0.003301"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:26.529236" elapsed="0.011213">Url: http://10.30.171.138: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-08-18T20:21:28.549591" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:28.549676" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:28.549861" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:28.543319" elapsed="0.007134">Url: http://10.30.171.138: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-08-18T20:21:28.550827" 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-08-18T20:21:28.551427" 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-08-18T20:21:28.551703" 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-08-18T20:21:28.552002" 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-08-18T20:21:28.552269" 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-08-18T20:21:28.552537" 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-08-18T20:21:28.552903" 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-08-18T20:21:28.553270" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:28.553033" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:28.553006" elapsed="0.000373"/>
</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-08-18T20:21:28.553684" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:28.553454" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:28.553433" 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-08-18T20:21:28.554119" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:28.553887" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:28.553865" elapsed="0.000362"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:28.551199" elapsed="0.003059"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:28.550935" elapsed="0.003359"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:28.542386" elapsed="0.012046">Url: http://10.30.171.138: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-08-18T20:21:30.563362" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:30.563504" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:30.563783" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:30.556668" elapsed="0.008109">Url: http://10.30.171.138: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-08-18T20:21:30.565325" elapsed="0.000059"/>
</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-08-18T20:21:30.566421" elapsed="0.000039"/>
</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-08-18T20:21:30.566709" 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-08-18T20:21:30.566993" 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-08-18T20:21:30.567253" 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-08-18T20:21:30.567513" 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-08-18T20:21:30.567796" 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-08-18T20:21:30.568166" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:30.567930" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:30.567902" elapsed="0.000372"/>
</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-08-18T20:21:30.568588" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:30.568357" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:30.568335" elapsed="0.000361"/>
</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-08-18T20:21:30.569021" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:30.568792" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:30.568767" elapsed="0.000362"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:30.566038" elapsed="0.003122"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:30.565505" elapsed="0.003692"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:30.555728" elapsed="0.013692">Url: http://10.30.171.138: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-08-18T20:21:32.578001" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:32.578113" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:32.578311" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:32.571645" elapsed="0.007698">Url: http://10.30.171.138: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-08-18T20:21:32.579685" 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-08-18T20:21:32.580311" elapsed="0.000030"/>
</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-08-18T20:21:32.580588" 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-08-18T20:21:32.580892" 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-08-18T20:21:32.581162" 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-08-18T20:21:32.581428" elapsed="0.000027"/>
</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-08-18T20:21:32.581693" 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-08-18T20:21:32.582082" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:32.581841" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:32.581814" elapsed="0.000378"/>
</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-08-18T20:21:32.582498" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:32.582266" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:32.582244" elapsed="0.000362"/>
</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-08-18T20:21:32.582927" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:32.582677" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:32.582656" elapsed="0.000379"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:32.580076" elapsed="0.002991"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:32.579815" elapsed="0.003287"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:32.570722" elapsed="0.012518">Url: http://10.30.171.138: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-08-18T20:21:34.591945" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:34.592030" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:34.592187" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:34.585520" elapsed="0.007294">Url: http://10.30.171.138: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-08-18T20:21:34.593245" 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-08-18T20:21:34.593877" 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-08-18T20:21:34.594154" 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-08-18T20:21:34.594421" 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-08-18T20:21:34.594688" 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-08-18T20:21:34.594972" 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-08-18T20:21:34.595240" 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-08-18T20:21:34.595611" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:34.595366" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:34.595339" elapsed="0.000381"/>
</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-08-18T20:21:34.596072" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:34.595833" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:34.595811" 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-08-18T20:21:34.596488" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:34.596255" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:34.596234" elapsed="0.000360"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:34.593625" elapsed="0.003004"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:34.593353" elapsed="0.003312"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:34.584579" elapsed="0.012242">Url: http://10.30.171.138: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-08-18T20:21:36.605639" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:36.605809" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:36.606047" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:36.599107" elapsed="0.007928">Url: http://10.30.171.138: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-08-18T20:21:36.607558" elapsed="0.000045"/>
</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-08-18T20:21:36.608193" 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-08-18T20:21:36.608464" 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-08-18T20:21:36.608728" 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-08-18T20:21:36.609012" 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-08-18T20:21:36.609271" 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-08-18T20:21:36.609539" 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-08-18T20:21:36.610329" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:36.610070" elapsed="0.000340"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:36.609725" elapsed="0.000719"/>
</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-08-18T20:21:36.610792" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:36.610521" elapsed="0.000358"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:36.610499" 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-08-18T20:21:36.611220" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:36.610987" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:36.610965" elapsed="0.000365"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:36.607964" elapsed="0.003398"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:36.607688" elapsed="0.003710"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:36.598169" elapsed="0.013365">Url: http://10.30.171.138: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-08-18T20:21:38.620063" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:38.620149" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:38.620299" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:38.613837" elapsed="0.007077">Url: http://10.30.171.138: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-08-18T20:21:38.621256" 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-08-18T20:21:38.621897" 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-08-18T20:21:38.622176" 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-08-18T20:21:38.622443" 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-08-18T20:21:38.622715" 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-08-18T20:21:38.623002" 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-08-18T20:21:38.623269" 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-08-18T20:21:38.623635" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:38.623396" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:38.623369" 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-08-18T20:21:38.624073" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:38.623840" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:38.623818" elapsed="0.000363"/>
</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-08-18T20:21:38.624483" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:38.624252" elapsed="0.000305"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:38.624231" elapsed="0.000357"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:38.621617" elapsed="0.003001"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:38.621361" elapsed="0.003292"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:38.612851" elapsed="0.011962">Url: http://10.30.171.138: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-08-18T20:21:40.633895" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:40.634033" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:40.634271" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:40.627245" elapsed="0.008005">Url: http://10.30.171.138: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-08-18T20:21:40.635853" 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-08-18T20:21:40.637016" 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-08-18T20:21:40.637483" 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-08-18T20:21:40.637926" 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-08-18T20:21:40.638210" 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-08-18T20:21:40.638478" 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-08-18T20:21:40.638782" 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-08-18T20:21:40.639158" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:40.638919" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:40.638891" elapsed="0.000381"/>
</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-08-18T20:21:40.639577" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:40.639348" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:40.639327" elapsed="0.000359"/>
</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-08-18T20:21:40.640019" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:40.639790" elapsed="0.000305"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:40.639766" elapsed="0.000360"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:40.636453" elapsed="0.003705"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:40.636031" elapsed="0.004163"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:40.626255" elapsed="0.014080">Url: http://10.30.171.138: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-08-18T20:21:42.648896" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:42.648981" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:42.649149" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:42.643128" elapsed="0.006642">Url: http://10.30.171.138: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-08-18T20:21:42.650180" 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-08-18T20:21:42.650795" 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-08-18T20:21:42.651071" 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-08-18T20:21:42.651338" 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-08-18T20:21:42.651603" 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-08-18T20:21:42.651938" 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-08-18T20:21:42.652214" 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-08-18T20:21:42.652583" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:42.652342" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:42.652315" elapsed="0.000377"/>
</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-08-18T20:21:42.653149" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:42.652912" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:42.652882" 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-08-18T20:21:42.653562" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:42.653333" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:42.653312" elapsed="0.000355"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:42.650543" elapsed="0.003155"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:42.650287" elapsed="0.003448"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:42.641611" elapsed="0.012298">Url: http://10.30.171.138: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-08-18T20:21:44.662368" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:44.662456" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:44.662613" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:44.656182" elapsed="0.007086">Url: http://10.30.171.138: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-08-18T20:21:44.663613" 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-08-18T20:21:44.664252" 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-08-18T20:21:44.664528" 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-08-18T20:21:44.664817" 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-08-18T20:21:44.665085" 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-08-18T20:21:44.665352" 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-08-18T20:21:44.665621" 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-08-18T20:21:44.666008" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:44.665766" elapsed="0.000403"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:44.665722" elapsed="0.000493"/>
</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-08-18T20:21:44.666538" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:44.666302" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:44.666278" elapsed="0.000368"/>
</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-08-18T20:21:44.666995" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:44.666718" elapsed="0.000355"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:44.666697" elapsed="0.000409"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:44.664013" elapsed="0.003135"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:44.663722" elapsed="0.003468"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:44.655226" elapsed="0.012105">Url: http://10.30.171.138: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-08-18T20:21:46.676051" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:46.676184" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:46.676421" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:46.669646" elapsed="0.007705">Url: http://10.30.171.138: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-08-18T20:21:46.677889" elapsed="0.000103"/>
</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-08-18T20:21:46.679227" 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-08-18T20:21:46.679505" 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-08-18T20:21:46.679795" 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-08-18T20:21:46.680063" 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-08-18T20:21:46.680327" 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-08-18T20:21:46.680592" 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-08-18T20:21:46.681238" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:46.680737" elapsed="0.000583"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:46.680705" elapsed="0.000649"/>
</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-08-18T20:21:46.681659" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:46.681430" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:46.681407" elapsed="0.000391"/>
</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-08-18T20:21:46.682113" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:46.681873" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:46.681851" elapsed="0.000372"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:46.678993" elapsed="0.003261"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:46.678110" elapsed="0.004180"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:46.668661" elapsed="0.013782">Url: http://10.30.171.138: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-08-18T20:21:48.691281" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:48.691539" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:48.691813" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:48.684776" elapsed="0.007953">Url: http://10.30.171.138: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-08-18T20:21:48.693338" 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-08-18T20:21:48.694198" elapsed="0.000030"/>
</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-08-18T20:21:48.694469" 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-08-18T20:21:48.694730" 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-08-18T20:21:48.695010" 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-08-18T20:21:48.695270" elapsed="0.000027"/>
</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-08-18T20:21:48.695535" 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-08-18T20:21:48.695921" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:48.695664" elapsed="0.000333"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:48.695637" elapsed="0.000397"/>
</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-08-18T20:21:48.696334" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:48.696108" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:48.696087" elapsed="0.000352"/>
</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-08-18T20:21:48.696732" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:48.696508" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:48.696488" elapsed="0.000369"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:48.693958" elapsed="0.002930"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:48.693508" elapsed="0.003417"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:48.683836" elapsed="0.013252">Url: http://10.30.171.138: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-08-18T20:21:50.705387" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:50.705477" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:50.705645" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:50.699369" elapsed="0.006932">Url: http://10.30.171.138: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-08-18T20:21:50.706653" 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-08-18T20:21:50.707303" 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-08-18T20:21:50.707590" elapsed="0.000115"/>
</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-08-18T20:21:50.708020" 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-08-18T20:21:50.708322" 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-08-18T20:21:50.708608" 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-08-18T20:21:50.708906" 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-08-18T20:21:50.709286" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:50.709040" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:50.709013" elapsed="0.000387"/>
</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-08-18T20:21:50.710028" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:50.709478" elapsed="0.000633"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:50.709456" elapsed="0.000689"/>
</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-08-18T20:21:50.710469" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:50.710225" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:50.710201" elapsed="0.000381"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:50.707063" elapsed="0.003552"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:50.706791" elapsed="0.003863"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:50.698428" elapsed="0.012394">Url: http://10.30.171.138: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-08-18T20:21:52.720534" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:52.720618" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:52.720811" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:52.713204" elapsed="0.008209">Url: http://10.30.171.138: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-08-18T20:21:52.721774" 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-08-18T20:21:52.722371" elapsed="0.000030"/>
</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-08-18T20:21:52.722640" 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-08-18T20:21:52.722924" 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-08-18T20:21:52.723208" 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-08-18T20:21:52.723473" 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-08-18T20:21:52.723739" 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-08-18T20:21:52.724121" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:52.723886" elapsed="0.000311"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:52.723860" elapsed="0.000370"/>
</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-08-18T20:21:52.724531" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:52.724304" elapsed="0.000382"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:52.724283" elapsed="0.000439"/>
</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-08-18T20:21:52.725047" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:52.724818" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:52.724795" elapsed="0.000359"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:52.722142" elapsed="0.003044"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:52.721884" elapsed="0.003338"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:52.712238" elapsed="0.013120">Url: http://10.30.171.138: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-08-18T20:21:54.733929" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:54.734016" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:54.734175" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:54.727576" elapsed="0.007214">Url: http://10.30.171.138: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-08-18T20:21:54.735141" elapsed="0.000041"/>
</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-08-18T20:21:54.735805" 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-08-18T20:21:54.736074" 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-08-18T20:21:54.736332" 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-08-18T20:21:54.736587" 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-08-18T20:21:54.736880" elapsed="0.000034"/>
</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-08-18T20:21:54.737211" 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-08-18T20:21:54.737639" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:54.737390" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:54.737345" elapsed="0.000434"/>
</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-08-18T20:21:54.738108" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:54.737863" elapsed="0.000326"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:54.737841" 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-08-18T20:21:54.738527" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:54.738293" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:54.738272" elapsed="0.000362"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:54.735555" elapsed="0.003109"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:54.735272" elapsed="0.003428"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:54.726626" elapsed="0.012236">Url: http://10.30.171.138: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-08-18T20:21:56.747551" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:56.747638" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:56.747918" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:56.741674" elapsed="0.006837">Url: http://10.30.171.138: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-08-18T20:21:56.748870" 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-08-18T20:21:56.749465" 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-08-18T20:21:56.749738" 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-08-18T20:21:56.750027" 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-08-18T20:21:56.750293" 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-08-18T20:21:56.750559" 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-08-18T20:21:56.750844" 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-08-18T20:21:56.751207" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:56.750971" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:56.750945" elapsed="0.000370"/>
</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-08-18T20:21:56.751616" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:56.751388" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:56.751366" 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-08-18T20:21:56.752068" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:56.751837" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:56.751816" elapsed="0.000359"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:56.749237" elapsed="0.002969"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:56.748980" elapsed="0.003261"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:56.740208" elapsed="0.012168">Url: http://10.30.171.138: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-08-18T20:21:58.761322" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:21:58.761452" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:21:58.761690" level="FAIL">Url: http://10.30.171.138: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-08-18T20:21:58.754699" elapsed="0.007988">Url: http://10.30.171.138: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-08-18T20:21:58.763316" 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-08-18T20:21:58.763946" 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-08-18T20:21:58.764217" 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-08-18T20:21:58.764473" 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-08-18T20:21:58.764729" 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-08-18T20:21:58.765009" 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-08-18T20:21:58.765354" 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-08-18T20:21:58.765723" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:58.765486" elapsed="0.000331"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:58.765460" 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-08-18T20:21:58.766168" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:58.765924" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:58.765903" 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-08-18T20:21:58.766576" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:21:58.766351" elapsed="0.000298"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:21:58.766330" elapsed="0.000350"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:21:58.763690" elapsed="0.003020"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:21:58.763434" elapsed="0.003330"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:21:58.753698" elapsed="0.013209">Url: http://10.30.171.138: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-08-18T20:22:00.775731" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:00.775929" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:00.776214" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:00.769117" elapsed="0.008175">Url: http://10.30.171.138: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-08-18T20:22:00.777653" 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-08-18T20:22:00.778606" 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-08-18T20:22:00.778902" 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-08-18T20:22:00.779169" 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-08-18T20:22:00.779430" 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-08-18T20:22:00.779692" 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-08-18T20:22:00.779978" 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-08-18T20:22:00.780345" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:00.780108" elapsed="0.000311"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:00.780081" elapsed="0.000374"/>
</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-08-18T20:22:00.780800" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:00.780552" elapsed="0.000326"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:00.780528" elapsed="0.000383"/>
</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-08-18T20:22:00.781208" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:00.780982" elapsed="0.000299"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:00.780962" elapsed="0.000353"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:00.778371" elapsed="0.002975"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:00.777785" elapsed="0.003598"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:00.768171" elapsed="0.013428">Url: http://10.30.171.138: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-08-18T20:22:02.790241" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:02.790337" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:02.790510" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:02.783890" elapsed="0.007324">Url: http://10.30.171.138: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-08-18T20:22:02.791581" 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-08-18T20:22:02.792260" 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-08-18T20:22:02.792552" 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-08-18T20:22:02.792894" 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-08-18T20:22:02.793170" 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-08-18T20:22:02.793434" 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-08-18T20:22:02.793739" 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-08-18T20:22:02.794129" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:02.793890" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:02.793861" elapsed="0.000381"/>
</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-08-18T20:22:02.794561" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:02.794324" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:02.794301" elapsed="0.000369"/>
</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-08-18T20:22:02.794994" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:02.794741" elapsed="0.000355"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:02.794719" elapsed="0.000413"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:02.792012" elapsed="0.003151"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:02.791696" elapsed="0.003503"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:02.782915" elapsed="0.012425">Url: http://10.30.171.138: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-08-18T20:22:04.803707" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:04.803856" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:04.804060" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:04.797567" elapsed="0.007166">Url: http://10.30.171.138: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-08-18T20:22:04.805185" 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-08-18T20:22:04.805841" 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-08-18T20:22:04.806124" 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-08-18T20:22:04.806388" 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-08-18T20:22:04.806651" 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-08-18T20:22:04.806933" 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-08-18T20:22:04.807201" 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-08-18T20:22:04.807568" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:04.807330" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:04.807303" elapsed="0.000375"/>
</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-08-18T20:22:04.808273" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:04.807771" elapsed="0.000582"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:04.807731" elapsed="0.000655"/>
</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-08-18T20:22:04.808695" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:04.808461" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:04.808439" elapsed="0.000384"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:04.805549" elapsed="0.003306"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:04.805291" elapsed="0.003601"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:04.796643" elapsed="0.012384">Url: http://10.30.171.138: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-08-18T20:22:06.817677" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:06.817793" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:06.817963" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:06.811266" elapsed="0.007321">Url: http://10.30.171.138: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-08-18T20:22:06.818973" 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-08-18T20:22:06.819581" elapsed="0.000030"/>
</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-08-18T20:22:06.819897" 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-08-18T20:22:06.820206" elapsed="0.000068"/>
</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-08-18T20:22:06.820523" 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-08-18T20:22:06.820804" 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-08-18T20:22:06.821070" 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-08-18T20:22:06.821537" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:06.821295" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:06.821263" 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-08-18T20:22:06.821972" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:06.821723" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:06.821702" 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-08-18T20:22:06.822374" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:06.822150" elapsed="0.000297"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:06.822129" elapsed="0.000349"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:06.819347" elapsed="0.003163"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:06.819083" elapsed="0.003464"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:06.810310" elapsed="0.012405">Url: http://10.30.171.138: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-08-18T20:22:08.830776" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:08.830905" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:08.831124" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:08.824945" elapsed="0.006906">Url: http://10.30.171.138: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-08-18T20:22:08.832190" 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-08-18T20:22:08.832801" 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-08-18T20:22:08.833072" 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-08-18T20:22:08.833333" 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-08-18T20:22:08.833593" 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-08-18T20:22:08.833870" 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-08-18T20:22:08.834132" 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-08-18T20:22:08.834494" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:08.834259" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:08.834232" elapsed="0.000368"/>
</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-08-18T20:22:08.834916" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:08.834672" elapsed="0.000331"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:08.834651" elapsed="0.000385"/>
</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-08-18T20:22:08.835330" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:08.835106" elapsed="0.000297"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:08.835086" elapsed="0.000348"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:08.832552" elapsed="0.002912"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:08.832296" elapsed="0.003202"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:08.824035" elapsed="0.011603">Url: http://10.30.171.138: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-08-18T20:22:10.846251" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:10.846337" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:10.846499" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:10.841178" elapsed="0.005938">Url: http://10.30.171.138: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-08-18T20:22:10.847450" 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-08-18T20:22:10.848057" 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-08-18T20:22:10.848334" 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-08-18T20:22:10.848604" 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-08-18T20:22:10.848892" 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-08-18T20:22:10.849158" elapsed="0.000027"/>
</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-08-18T20:22:10.849422" 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-08-18T20:22:10.849821" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:10.849549" elapsed="0.000348"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:10.849522" 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-08-18T20:22:10.850237" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:10.850008" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:10.849987" elapsed="0.000355"/>
</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-08-18T20:22:10.850642" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:10.850414" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:10.850392" elapsed="0.000380"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:10.847829" elapsed="0.002976"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:10.847554" elapsed="0.003287"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:10.837012" elapsed="0.013962">Url: http://10.30.171.138: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-08-18T20:22:12.859012" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:12.859098" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:12.859253" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:12.853227" elapsed="0.006653">Url: http://10.30.171.138: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-08-18T20:22:12.860481" 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-08-18T20:22:12.861151" 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-08-18T20:22:12.861443" 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-08-18T20:22:12.861842" 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-08-18T20:22:12.862117" 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-08-18T20:22:12.862382" 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-08-18T20:22:12.862646" 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-08-18T20:22:12.863030" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:12.862792" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:12.862765" 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-08-18T20:22:12.863460" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:12.863230" elapsed="0.000305"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:12.863208" elapsed="0.000359"/>
</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-08-18T20:22:12.863913" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:12.863638" elapsed="0.000389"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:12.863617" elapsed="0.000446"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:12.860920" elapsed="0.003175"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:12.860598" elapsed="0.003536"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:12.852273" elapsed="0.012066">Url: http://10.30.171.138: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-08-18T20:22:14.873293" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:14.873382" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:14.873545" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:14.866691" elapsed="0.007501">Url: http://10.30.171.138: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-08-18T20:22:14.874536" 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-08-18T20:22:14.875551" 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-08-18T20:22:14.875856" 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-08-18T20:22:14.876131" 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-08-18T20:22:14.876398" 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-08-18T20:22:14.876666" 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-08-18T20:22:14.876964" 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-08-18T20:22:14.877335" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:14.877094" elapsed="0.000393"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:14.877067" elapsed="0.000456"/>
</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-08-18T20:22:14.877855" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:14.877598" elapsed="0.000334"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:14.877576" 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-08-18T20:22:14.878266" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:14.878037" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:14.878016" elapsed="0.000355"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:14.875311" elapsed="0.003091"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:14.874649" elapsed="0.003791"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:14.865688" elapsed="0.012894">Url: http://10.30.171.138: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-08-18T20:22:16.887008" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:16.887094" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:16.887246" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:16.880678" elapsed="0.007187">Url: http://10.30.171.138: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-08-18T20:22:16.888203" 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-08-18T20:22:16.888810" 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-08-18T20:22:16.889085" 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-08-18T20:22:16.889348" 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-08-18T20:22:16.889610" 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-08-18T20:22:16.889892" 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-08-18T20:22:16.890178" 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-08-18T20:22:16.890540" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:16.890306" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:16.890280" elapsed="0.000367"/>
</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-08-18T20:22:16.890972" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:16.890720" elapsed="0.000328"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:16.890698" 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-08-18T20:22:16.891380" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:16.891150" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:16.891129" elapsed="0.000358"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:16.888564" elapsed="0.002955"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:16.888309" elapsed="0.003245"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:16.879821" elapsed="0.011866">Url: http://10.30.171.138: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-08-18T20:22:18.900712" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:18.901059" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:18.901220" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:18.893973" elapsed="0.007863">Url: http://10.30.171.138: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-08-18T20:22:18.902181" 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-08-18T20:22:18.902792" 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-08-18T20:22:18.903067" 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-08-18T20:22:18.903331" 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-08-18T20:22:18.903594" 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-08-18T20:22:18.903875" 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-08-18T20:22:18.904141" 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-08-18T20:22:18.904503" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:18.904269" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:18.904242" elapsed="0.000368"/>
</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-08-18T20:22:18.904940" elapsed="0.000037"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:18.904681" elapsed="0.000343"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:18.904660" 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-08-18T20:22:18.905354" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:18.905127" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:18.905106" elapsed="0.000352"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:18.902546" elapsed="0.002945"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:18.902287" elapsed="0.003240"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:18.893031" elapsed="0.012633">Url: http://10.30.171.138: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-08-18T20:22:20.914458" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:20.914544" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:20.914710" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:20.908474" elapsed="0.006860">Url: http://10.30.171.138: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-08-18T20:22:20.915669" 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-08-18T20:22:20.916354" elapsed="0.000030"/>
</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-08-18T20:22:20.916629" elapsed="0.000099"/>
</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-08-18T20:22:20.916997" 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-08-18T20:22:20.917260" 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-08-18T20:22:20.917521" 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-08-18T20:22:20.917809" 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-08-18T20:22:20.918179" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:20.917942" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:20.917916" elapsed="0.000369"/>
</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-08-18T20:22:20.918585" elapsed="0.000026"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:20.918356" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:20.918336" elapsed="0.000352"/>
</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-08-18T20:22:20.919005" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:20.918776" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:20.918737" elapsed="0.000371"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:20.916120" elapsed="0.003019"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:20.915811" elapsed="0.003363"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:20.907563" elapsed="0.011748">Url: http://10.30.171.138: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-08-18T20:22:22.928111" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:22.928243" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:22.928475" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:22.921448" elapsed="0.007958">Url: http://10.30.171.138: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-08-18T20:22:22.929956" 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-08-18T20:22:22.930994" 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-08-18T20:22:22.931282" 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-08-18T20:22:22.931550" 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-08-18T20:22:22.931845" 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-08-18T20:22:22.932114" 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-08-18T20:22:22.932382" 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-08-18T20:22:22.932772" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:22.932511" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:22.932484" 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-08-18T20:22:22.933191" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:22.932960" elapsed="0.000383"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:22.932938" 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-08-18T20:22:22.933683" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:22.933451" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:22.933430" elapsed="0.000378"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:22.930531" elapsed="0.003309"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:22.930123" elapsed="0.003753"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:22.920526" elapsed="0.013492">Url: http://10.30.171.138: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-08-18T20:22:24.943058" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:24.943160" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:24.943320" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:24.936289" elapsed="0.008041">Url: http://10.30.171.138: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-08-18T20:22:24.944668" 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-08-18T20:22:24.945290" 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-08-18T20:22:24.945568" 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-08-18T20:22:24.945892" 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-08-18T20:22:24.946179" 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-08-18T20:22:24.946493" 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-08-18T20:22:24.946789" 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-08-18T20:22:24.947159" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:24.946921" elapsed="0.000311"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:24.946894" elapsed="0.000373"/>
</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-08-18T20:22:24.947567" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:24.947339" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:24.947318" elapsed="0.000353"/>
</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-08-18T20:22:24.947994" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:24.947759" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:24.947721" elapsed="0.000379"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:24.945062" elapsed="0.003069"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:24.944798" elapsed="0.003369"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:24.935322" elapsed="0.012985">Url: http://10.30.171.138: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-08-18T20:22:26.957513" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:26.957610" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:26.957899" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:26.950800" elapsed="0.007716">Url: http://10.30.171.138: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-08-18T20:22:26.958900" 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-08-18T20:22:26.959534" 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-08-18T20:22:26.959841" 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-08-18T20:22:26.960115" 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-08-18T20:22:26.960387" elapsed="0.000035"/>
</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-08-18T20:22:26.960728" 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-08-18T20:22:26.961028" 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-08-18T20:22:26.961403" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:26.961161" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:26.961133" 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-08-18T20:22:26.961905" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:26.961619" elapsed="0.000368"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:26.961595" 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-08-18T20:22:26.962337" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:26.962102" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:26.962078" elapsed="0.000380"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:26.959287" elapsed="0.003211"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:26.959015" elapsed="0.003523"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:26.949779" elapsed="0.012915">Url: http://10.30.171.138: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-08-18T20:22:28.971295" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:28.971397" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:28.971593" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:28.965027" elapsed="0.007196">Url: http://10.30.171.138: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-08-18T20:22:28.972607" 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-08-18T20:22:28.973260" 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-08-18T20:22:28.973535" 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-08-18T20:22:28.973820" 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-08-18T20:22:28.974084" 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-08-18T20:22:28.974349" 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-08-18T20:22:28.974706" 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-08-18T20:22:28.975411" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:28.974857" elapsed="0.000657"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:28.974830" elapsed="0.000720"/>
</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-08-18T20:22:28.975880" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:28.975626" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:28.975605" elapsed="0.000385"/>
</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-08-18T20:22:28.976289" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:28.976062" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:28.976041" elapsed="0.000354"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:28.973024" elapsed="0.003402"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:28.972723" elapsed="0.003740"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:28.964086" elapsed="0.012517">Url: http://10.30.171.138: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-08-18T20:22:30.985612" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:30.985703" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:30.985896" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:30.979063" elapsed="0.007559">Url: http://10.30.171.138: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-08-18T20:22:30.986999" 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-08-18T20:22:30.987627" 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-08-18T20:22:30.987934" 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-08-18T20:22:30.988234" 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-08-18T20:22:30.988545" 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-08-18T20:22:30.988840" 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-08-18T20:22:30.989119" 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-08-18T20:22:30.989517" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:30.989254" elapsed="0.000343"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:30.989225" 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-08-18T20:22:30.989970" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:30.989711" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:30.989689" 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-08-18T20:22:30.990384" elapsed="0.000042"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:30.990155" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:30.990132" elapsed="0.000393"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:30.987378" elapsed="0.003183"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:30.987112" elapsed="0.003487"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:30.978027" elapsed="0.012820">Url: http://10.30.171.138: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-08-18T20:22:32.999203" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:32.999301" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:32.999470" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:32.993071" elapsed="0.007060">Url: http://10.30.171.138: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-08-18T20:22:33.000489" 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-08-18T20:22:33.001141" 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-08-18T20:22:33.001451" 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-08-18T20:22:33.001731" 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-08-18T20:22:33.002031" 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-08-18T20:22:33.002302" 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-08-18T20:22:33.002581" 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-08-18T20:22:33.002973" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:33.002713" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:33.002685" elapsed="0.000398"/>
</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-08-18T20:22:33.003388" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:33.003156" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:33.003135" elapsed="0.000362"/>
</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-08-18T20:22:33.003829" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:33.003569" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:33.003548" elapsed="0.000393"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:33.000899" elapsed="0.003074"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:33.000601" elapsed="0.003408"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:32.992157" elapsed="0.011989">Url: http://10.30.171.138: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-08-18T20:22:35.013370" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:35.013465" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:35.013632" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:35.006405" elapsed="0.007846">Url: http://10.30.171.138: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-08-18T20:22:35.014666" 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-08-18T20:22:35.015286" 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-08-18T20:22:35.015561" 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-08-18T20:22:35.015848" 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-08-18T20:22:35.016119" 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-08-18T20:22:35.016402" 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-08-18T20:22:35.016671" 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-08-18T20:22:35.017058" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:35.016820" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:35.016793" 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-08-18T20:22:35.017474" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:35.017243" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:35.017221" elapsed="0.000361"/>
</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-08-18T20:22:35.017903" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:35.017655" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:35.017634" elapsed="0.000378"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:35.015054" elapsed="0.002990"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:35.014795" elapsed="0.003284"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:35.005468" elapsed="0.012747">Url: http://10.30.171.138: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-08-18T20:22:37.027455" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:37.027618" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:37.027912" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:37.020688" elapsed="0.008228">Url: http://10.30.171.138: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-08-18T20:22:37.029456" 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-08-18T20:22:37.030547" 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-08-18T20:22:37.031060" 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-08-18T20:22:37.031587" 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-08-18T20:22:37.032089" 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-08-18T20:22:37.032511" elapsed="0.000034"/>
</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-08-18T20:22:37.032827" 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-08-18T20:22:37.033331" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:37.033074" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:37.033043" elapsed="0.000405"/>
</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-08-18T20:22:37.033812" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:37.033538" elapsed="0.000356"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:37.033512" 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-08-18T20:22:37.034248" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:37.034012" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:37.033984" elapsed="0.000376"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:37.030152" elapsed="0.004241"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:37.029661" elapsed="0.004769"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:37.019685" elapsed="0.014898">Url: http://10.30.171.138: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-08-18T20:22:39.044060" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:39.044195" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:39.044444" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:39.036938" elapsed="0.008492">Url: http://10.30.171.138: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-08-18T20:22:39.046009" 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-08-18T20:22:39.047570" 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-08-18T20:22:39.047873" 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-08-18T20:22:39.048140" 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-08-18T20:22:39.048405" 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-08-18T20:22:39.048668" elapsed="0.000027"/>
</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-08-18T20:22:39.048948" 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-08-18T20:22:39.049328" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:39.049079" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:39.049052" 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-08-18T20:22:39.049795" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:39.049538" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:39.049507" 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-08-18T20:22:39.050228" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:39.049990" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:39.049969" elapsed="0.000393"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:39.047205" elapsed="0.003191"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:39.046183" elapsed="0.004257"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:39.035946" elapsed="0.014656">Url: http://10.30.171.138: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-08-18T20:22:41.059315" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:41.059456" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:41.059709" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:41.052963" elapsed="0.007736">Url: http://10.30.171.138: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-08-18T20:22:41.061316" elapsed="0.000059"/>
</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-08-18T20:22:41.062353" 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-08-18T20:22:41.062849" 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-08-18T20:22:41.063306" 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-08-18T20:22:41.063791" elapsed="0.000049"/>
</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-08-18T20:22:41.064247" elapsed="0.000047"/>
</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-08-18T20:22:41.064704" elapsed="0.000074"/>
</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-08-18T20:22:41.065371" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:41.064945" elapsed="0.000555"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:41.064902" elapsed="0.000654"/>
</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-08-18T20:22:41.066106" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:41.065680" elapsed="0.000555"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:41.065644" elapsed="0.000647"/>
</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-08-18T20:22:41.066831" elapsed="0.000049"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:41.066411" elapsed="0.000549"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:41.066374" elapsed="0.000641"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:41.061961" elapsed="0.005107"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:41.061498" elapsed="0.005629"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:41.052042" elapsed="0.015311">Url: http://10.30.171.138: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-08-18T20:22:43.076224" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:43.076426" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:43.076670" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:43.069556" elapsed="0.007782">Url: http://10.30.171.138: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-08-18T20:22:43.077771" 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-08-18T20:22:43.078370" 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-08-18T20:22:43.078643" 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-08-18T20:22:43.078927" 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-08-18T20:22:43.079188" 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-08-18T20:22:43.079448" elapsed="0.000027"/>
</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-08-18T20:22:43.079709" 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-08-18T20:22:43.080092" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:43.079855" elapsed="0.000311"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:43.079828" elapsed="0.000372"/>
</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-08-18T20:22:43.080514" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:43.080286" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:43.080252" elapsed="0.000368"/>
</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-08-18T20:22:43.080932" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:43.080690" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:43.080669" elapsed="0.000372"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:43.078137" elapsed="0.002935"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:43.077881" elapsed="0.003226"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:43.068647" elapsed="0.012597">Url: http://10.30.171.138: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-08-18T20:22:45.091013" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:45.091103" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:45.091327" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:45.084470" elapsed="0.007724">Url: http://10.30.171.138: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-08-18T20:22:45.092738" elapsed="0.000087"/>
</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-08-18T20:22:45.093768" 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-08-18T20:22:45.094238" 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-08-18T20:22:45.094675" 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-08-18T20:22:45.095155" 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-08-18T20:22:45.095634" 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-08-18T20:22:45.096132" elapsed="0.000049"/>
</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-08-18T20:22:45.096772" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:45.096345" elapsed="0.000819"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:45.096302" elapsed="0.000931"/>
</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-08-18T20:22:45.097789" elapsed="0.000053"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:45.097360" elapsed="0.000567"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:45.097323" elapsed="0.000656"/>
</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-08-18T20:22:45.098534" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:45.098148" elapsed="0.000510"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:45.098107" elapsed="0.000603"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:45.093358" elapsed="0.005512"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:45.092945" elapsed="0.005995"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:45.083472" elapsed="0.015692">Url: http://10.30.171.138: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-08-18T20:22:47.109587" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:47.109719" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:47.110001" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:47.101501" elapsed="0.009453">Url: http://10.30.171.138: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-08-18T20:22:47.111302" 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-08-18T20:22:47.111920" 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-08-18T20:22:47.112189" 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-08-18T20:22:47.112451" 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-08-18T20:22:47.112723" 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-08-18T20:22:47.113003" 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-08-18T20:22:47.113265" 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-08-18T20:22:47.113627" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:47.113392" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:47.113365" elapsed="0.000369"/>
</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-08-18T20:22:47.114054" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:47.113828" elapsed="0.000299"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:47.113806" elapsed="0.000352"/>
</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-08-18T20:22:47.114478" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:47.114228" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:47.114207" elapsed="0.000376"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:47.111669" elapsed="0.002945"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:47.111411" elapsed="0.003238"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:47.100561" elapsed="0.014246">Url: http://10.30.171.138: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-08-18T20:22:49.123846" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:49.124031" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:49.124533" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:49.117133" elapsed="0.008030">Url: http://10.30.171.138: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-08-18T20:22:49.125546" 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-08-18T20:22:49.126419" 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-08-18T20:22:49.126790" 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-08-18T20:22:49.127126" elapsed="0.000079"/>
</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-08-18T20:22:49.127505" 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-08-18T20:22:49.127898" 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-08-18T20:22:49.128308" 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-08-18T20:22:49.128825" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:49.128502" elapsed="0.000405"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:49.128469" elapsed="0.000474"/>
</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-08-18T20:22:49.129387" elapsed="0.000075"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:49.129072" elapsed="0.000449"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:49.129045" elapsed="0.000508"/>
</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-08-18T20:22:49.129989" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:49.129629" elapsed="0.000488"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:49.129607" elapsed="0.000548"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:49.126123" elapsed="0.004064"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:49.125726" elapsed="0.004498"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:49.116184" elapsed="0.014186">Url: http://10.30.171.138: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-08-18T20:22:51.139243" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:51.139419" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:51.139693" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:51.132580" elapsed="0.008102">Url: http://10.30.171.138: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-08-18T20:22:51.141335" 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-08-18T20:22:51.142371" 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-08-18T20:22:51.142837" elapsed="0.000174"/>
</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-08-18T20:22:51.143410" 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-08-18T20:22:51.143869" 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-08-18T20:22:51.144344" 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-08-18T20:22:51.144781" 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-08-18T20:22:51.145158" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:51.144916" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:51.144888" 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-08-18T20:22:51.145569" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:51.145343" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:51.145321" elapsed="0.000354"/>
</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-08-18T20:22:51.145996" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:51.145765" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:51.145726" elapsed="0.000378"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:51.142007" elapsed="0.004128"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:51.141517" elapsed="0.004656"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:51.131658" elapsed="0.014667">Url: http://10.30.171.138: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-08-18T20:22:53.155000" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:53.155087" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:53.155243" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:53.148642" elapsed="0.007230">Url: http://10.30.171.138: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-08-18T20:22:53.156229" 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-08-18T20:22:53.156852" 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-08-18T20:22:53.157124" 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-08-18T20:22:53.157385" 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-08-18T20:22:53.157643" 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-08-18T20:22:53.157925" 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-08-18T20:22:53.158466" 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-08-18T20:22:53.158859" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:53.158599" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:53.158572" 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-08-18T20:22:53.159275" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:53.159046" elapsed="0.000389"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:53.159025" elapsed="0.000447"/>
</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-08-18T20:22:53.159802" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:53.159546" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:53.159525" elapsed="0.000390"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:53.156595" elapsed="0.003352"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:53.156340" elapsed="0.003644"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:53.147676" elapsed="0.012446">Url: http://10.30.171.138: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-08-18T20:22:55.168691" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:55.168804" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:55.168970" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:55.162366" elapsed="0.007195">Url: http://10.30.171.138: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-08-18T20:22:55.169923" 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-08-18T20:22:55.170539" 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-08-18T20:22:55.170837" 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-08-18T20:22:55.171107" 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-08-18T20:22:55.171373" 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-08-18T20:22:55.171640" 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-08-18T20:22:55.171933" 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-08-18T20:22:55.172301" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:55.172062" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:55.172036" elapsed="0.000372"/>
</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-08-18T20:22:55.172711" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:55.172482" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:55.172460" 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-08-18T20:22:55.173138" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:55.172909" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:55.172888" elapsed="0.000355"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:55.170287" elapsed="0.002987"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:55.170032" elapsed="0.003278"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:55.161366" elapsed="0.012082">Url: http://10.30.171.138: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-08-18T20:22:57.181955" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:57.182041" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:57.182302" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:57.175723" elapsed="0.007253">Url: http://10.30.171.138: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-08-18T20:22:57.183317" 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-08-18T20:22:57.183933" 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-08-18T20:22:57.184208" 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-08-18T20:22:57.184474" 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-08-18T20:22:57.184746" 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-08-18T20:22:57.185027" 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-08-18T20:22:57.185293" 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-08-18T20:22:57.185658" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:57.185421" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:57.185394" 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-08-18T20:22:57.186097" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:57.185863" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:57.185841" elapsed="0.000362"/>
</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-08-18T20:22:57.186515" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:57.186273" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:57.186253" elapsed="0.000369"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:57.183679" elapsed="0.002973"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:57.183425" elapsed="0.003263"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:57.174815" elapsed="0.012031">Url: http://10.30.171.138: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-08-18T20:22:59.194894" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:22:59.194983" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:22:59.195148" level="FAIL">Url: http://10.30.171.138: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-08-18T20:22:59.189663" elapsed="0.006078">Url: http://10.30.171.138: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-08-18T20:22:59.197064" elapsed="0.000115"/>
</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-08-18T20:22:59.197907" 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-08-18T20:22:59.198185" 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-08-18T20:22:59.198447" 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-08-18T20:22:59.198710" 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-08-18T20:22:59.199015" 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-08-18T20:22:59.199437" 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-08-18T20:22:59.199829" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:59.199571" elapsed="0.000334"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:59.199544" 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-08-18T20:22:59.200296" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:59.200034" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:59.200008" 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-08-18T20:22:59.200699" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:22:59.200474" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:22:59.200453" elapsed="0.000373"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:22:59.197596" elapsed="0.003261"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:22:59.197306" elapsed="0.003588"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:22:59.188734" elapsed="0.012322">Url: http://10.30.171.138: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-08-18T20:23:01.210026" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:01.210120" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:01.210299" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:01.203583" elapsed="0.007405">Url: http://10.30.171.138: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-08-18T20:23:01.211369" 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-08-18T20:23:01.212085" 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-08-18T20:23:01.212380" 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-08-18T20:23:01.212684" 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-08-18T20:23:01.212984" 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-08-18T20:23:01.213257" 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-08-18T20:23:01.213548" 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-08-18T20:23:01.213943" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:01.213683" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:01.213653" 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-08-18T20:23:01.214351" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:01.214128" elapsed="0.000295"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:01.214107" elapsed="0.000347"/>
</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-08-18T20:23:01.214764" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:01.214523" elapsed="0.000318"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:01.214503" elapsed="0.000369"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:01.211774" elapsed="0.003128"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:01.211483" elapsed="0.003457"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:01.202538" elapsed="0.012641">Url: http://10.30.171.138: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-08-18T20:23:03.224602" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:03.224737" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:03.225025" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:03.217664" elapsed="0.008875">Url: http://10.30.171.138: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-08-18T20:23:03.226911" 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-08-18T20:23:03.227565" elapsed="0.000030"/>
</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-08-18T20:23:03.227865" 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-08-18T20:23:03.228134" 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-08-18T20:23:03.228400" 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-08-18T20:23:03.228665" 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-08-18T20:23:03.228957" 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-08-18T20:23:03.229352" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:03.229110" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:03.229081" 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-08-18T20:23:03.229785" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:03.229536" elapsed="0.000326"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:03.229515" 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-08-18T20:23:03.230203" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:03.229965" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:03.229944" elapsed="0.000370"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:03.227326" elapsed="0.003020"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:03.227021" elapsed="0.003361"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:03.216534" elapsed="0.013990">Url: http://10.30.171.138: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-08-18T20:23:05.239332" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:05.239464" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:05.239695" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:05.232800" elapsed="0.007821">Url: http://10.30.171.138: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-08-18T20:23:05.241373" 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-08-18T20:23:05.242312" 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-08-18T20:23:05.242585" 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-08-18T20:23:05.242872" 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-08-18T20:23:05.243142" 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-08-18T20:23:05.243408" 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-08-18T20:23:05.243676" 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-08-18T20:23:05.244067" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:05.243823" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:05.243796" 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-08-18T20:23:05.244479" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:05.244249" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:05.244227" elapsed="0.000359"/>
</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-08-18T20:23:05.244908" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:05.244657" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:05.244636" elapsed="0.000391"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:05.241993" elapsed="0.003067"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:05.241548" elapsed="0.003548"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:05.231885" elapsed="0.013348">Url: http://10.30.171.138: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-08-18T20:23:07.253518" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:07.253605" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:07.253793" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:07.247486" elapsed="0.006915">Url: http://10.30.171.138: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-08-18T20:23:07.254773" 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-08-18T20:23:07.255364" elapsed="0.000030"/>
</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-08-18T20:23:07.255633" 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-08-18T20:23:07.255918" 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-08-18T20:23:07.256201" 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-08-18T20:23:07.256470" 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-08-18T20:23:07.256738" elapsed="0.000047"/>
</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-08-18T20:23:07.259379" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:07.259117" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:07.256949" elapsed="0.002546"/>
</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-08-18T20:23:07.259827" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:07.259570" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:07.259548" elapsed="0.000391"/>
</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-08-18T20:23:07.260280" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:07.260013" elapsed="0.000347"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:07.259991" elapsed="0.000401"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:07.255137" elapsed="0.005287"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:07.254883" elapsed="0.005579"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:07.246543" elapsed="0.014059">Url: http://10.30.171.138: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-08-18T20:23:09.268564" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:09.268654" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:09.268840" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:09.263055" elapsed="0.006512">Url: http://10.30.171.138: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-08-18T20:23:09.270100" elapsed="0.000047"/>
</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-08-18T20:23:09.270900" 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-08-18T20:23:09.271275" 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-08-18T20:23:09.271718" 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-08-18T20:23:09.272081" 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-08-18T20:23:09.272410" 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-08-18T20:23:09.272733" 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-08-18T20:23:09.273137" elapsed="0.000077"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:09.272895" elapsed="0.000373"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:09.272865" elapsed="0.000484"/>
</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-08-18T20:23:09.273714" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:09.273432" elapsed="0.000385"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:09.273409" 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-08-18T20:23:09.274214" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:09.273925" elapsed="0.000368"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:09.273903" elapsed="0.000491"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:09.270635" elapsed="0.003802"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:09.270241" elapsed="0.004233"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:09.261926" elapsed="0.012694">Url: http://10.30.171.138: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-08-18T20:23:11.283212" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:11.283304" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:11.283483" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:11.277158" elapsed="0.007011">Url: http://10.30.171.138: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-08-18T20:23:11.284539" elapsed="0.000042"/>
</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-08-18T20:23:11.285194" elapsed="0.000036"/>
</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-08-18T20:23:11.285484" 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-08-18T20:23:11.285788" 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-08-18T20:23:11.286068" 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-08-18T20:23:11.286344" 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-08-18T20:23:11.286619" 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-08-18T20:23:11.287031" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:11.286785" elapsed="0.000326"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:11.286728" 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-08-18T20:23:11.287460" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:11.287226" elapsed="0.000311"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:11.287204" elapsed="0.000367"/>
</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-08-18T20:23:11.287935" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:11.287646" elapsed="0.000371"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:11.287624" elapsed="0.000427"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:11.284955" elapsed="0.003130"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:11.284660" elapsed="0.003464"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:11.276169" elapsed="0.012097">Url: http://10.30.171.138: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-08-18T20:23:13.297911" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:13.298094" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:13.298417" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:13.290587" elapsed="0.008811">Url: http://10.30.171.138: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-08-18T20:23:13.300183" 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-08-18T20:23:13.301246" 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-08-18T20:23:13.301683" 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-08-18T20:23:13.302134" 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-08-18T20:23:13.302553" 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-08-18T20:23:13.303005" elapsed="0.000045"/>
</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-08-18T20:23:13.303433" 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-08-18T20:23:13.304048" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:13.303637" elapsed="0.000532"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:13.303594" elapsed="0.000632"/>
</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-08-18T20:23:13.304711" elapsed="0.000071"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:13.304344" elapsed="0.000569"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:13.304310" elapsed="0.000657"/>
</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-08-18T20:23:13.305441" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:13.305085" elapsed="0.000429"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:13.305050" elapsed="0.000497"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:13.300872" elapsed="0.004706"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:13.300369" elapsed="0.005246"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:13.289670" elapsed="0.016120">Url: http://10.30.171.138: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-08-18T20:23:15.314332" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:15.314419" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:15.314578" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:15.308126" elapsed="0.007081">Url: http://10.30.171.138: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-08-18T20:23:15.315552" 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-08-18T20:23:15.316181" 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-08-18T20:23:15.316455" 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-08-18T20:23:15.316718" 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-08-18T20:23:15.317006" 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-08-18T20:23:15.317313" elapsed="0.000034"/>
</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-08-18T20:23:15.317601" 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-08-18T20:23:15.318004" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:15.317733" elapsed="0.000449"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:15.317705" elapsed="0.000514"/>
</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-08-18T20:23:15.318537" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:15.318296" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:15.318274" 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-08-18T20:23:15.318984" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:15.318726" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:15.318705" elapsed="0.000394"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:15.315951" elapsed="0.003181"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:15.315661" elapsed="0.003508"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:15.307152" elapsed="0.012159">Url: http://10.30.171.138: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-08-18T20:23:17.327840" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:17.327925" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:17.328078" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:17.321679" elapsed="0.006984">Url: http://10.30.171.138: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-08-18T20:23:17.329023" 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-08-18T20:23:17.329640" 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-08-18T20:23:17.329936" 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-08-18T20:23:17.330206" 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-08-18T20:23:17.330470" 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-08-18T20:23:17.330780" 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-08-18T20:23:17.331065" 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-08-18T20:23:17.331817" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:17.331532" elapsed="0.000371"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:17.331168" 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-08-18T20:23:17.332270" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:17.332021" elapsed="0.000326"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:17.331997" elapsed="0.000383"/>
</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-08-18T20:23:17.332705" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:17.332463" elapsed="0.000362"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:17.332439" elapsed="0.000420"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:17.329411" elapsed="0.003483"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:17.329147" elapsed="0.003784"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:17.320683" elapsed="0.012389">Url: http://10.30.171.138: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-08-18T20:23:19.341452" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:19.341697" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:19.341887" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:19.335283" elapsed="0.007194">Url: http://10.30.171.138: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-08-18T20:23:19.342841" 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-08-18T20:23:19.343445" 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-08-18T20:23:19.343720" 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-08-18T20:23:19.344011" 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-08-18T20:23:19.344275" 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-08-18T20:23:19.344539" 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-08-18T20:23:19.344851" 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-08-18T20:23:19.345221" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:19.344981" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:19.344954" 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-08-18T20:23:19.345632" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:19.345402" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:19.345381" elapsed="0.000356"/>
</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-08-18T20:23:19.346060" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:19.345830" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:19.345809" elapsed="0.000357"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:19.343215" elapsed="0.002981"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:19.342949" elapsed="0.003283"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:19.334358" elapsed="0.012012">Url: http://10.30.171.138: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-08-18T20:23:21.354588" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:21.354674" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:21.354856" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:21.348541" elapsed="0.006906">Url: http://10.30.171.138: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-08-18T20:23:21.355846" 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-08-18T20:23:21.356449" 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-08-18T20:23:21.356727" elapsed="0.000147"/>
</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-08-18T20:23:21.357125" 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-08-18T20:23:21.357391" 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-08-18T20:23:21.357658" 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-08-18T20:23:21.357991" 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-08-18T20:23:21.358364" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:21.358125" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:21.358098" elapsed="0.000373"/>
</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-08-18T20:23:21.358795" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:21.358545" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:21.358523" 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-08-18T20:23:21.359206" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:21.358977" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:21.358956" elapsed="0.000357"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:21.356218" elapsed="0.003127"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:21.355956" elapsed="0.003426"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:21.347603" elapsed="0.011917">Url: http://10.30.171.138: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-08-18T20:23:23.367432" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:23.367530" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:23.367715" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:23.361883" elapsed="0.006523">Url: http://10.30.171.138: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-08-18T20:23:23.368803" 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-08-18T20:23:23.369460" 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-08-18T20:23:23.369800" 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-08-18T20:23:23.370109" 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-08-18T20:23:23.370400" 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-08-18T20:23:23.370774" 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-08-18T20:23:23.371075" 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-08-18T20:23:23.371485" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:23.371224" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:23.371190" elapsed="0.000419"/>
</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-08-18T20:23:23.371983" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:23.371707" elapsed="0.000438"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:23.371682" elapsed="0.000500"/>
</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-08-18T20:23:23.372496" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:23.372259" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:23.372236" elapsed="0.000368"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:23.369206" elapsed="0.003430"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:23.368918" elapsed="0.003755"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:23.360896" elapsed="0.011945">Url: http://10.30.171.138: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-08-18T20:23:25.381248" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:25.381336" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:25.381492" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:25.375063" elapsed="0.007046">Url: http://10.30.171.138: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-08-18T20:23:25.382448" 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-08-18T20:23:25.383080" 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-08-18T20:23:25.383354" 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-08-18T20:23:25.383619" 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-08-18T20:23:25.383905" 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-08-18T20:23:25.384171" 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-08-18T20:23:25.384440" 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-08-18T20:23:25.384821" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:25.384566" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:25.384540" 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-08-18T20:23:25.385246" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:25.385003" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:25.384982" 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-08-18T20:23:25.385652" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:25.385423" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:25.385402" elapsed="0.000375"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:25.382848" elapsed="0.002961"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:25.382554" elapsed="0.003292"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:25.374166" elapsed="0.011815">Url: http://10.30.171.138: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-08-18T20:23:27.394144" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:27.394254" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:27.394545" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:27.388053" elapsed="0.007205">Url: http://10.30.171.138: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-08-18T20:23:27.395608" 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-08-18T20:23:27.396226" 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-08-18T20:23:27.396834" 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-08-18T20:23:27.397117" 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-08-18T20:23:27.397389" 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-08-18T20:23:27.397656" 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-08-18T20:23:27.397944" 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-08-18T20:23:27.398312" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:27.398074" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:27.398047" elapsed="0.000374"/>
</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-08-18T20:23:27.398726" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:27.398495" elapsed="0.000328"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:27.398474" elapsed="0.000385"/>
</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-08-18T20:23:27.399162" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:27.398932" elapsed="0.000305"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:27.398910" elapsed="0.000359"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:27.395994" elapsed="0.003318"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:27.395713" elapsed="0.003636"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:27.387152" elapsed="0.012332">Url: http://10.30.171.138: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-08-18T20:23:29.407734" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:29.407901" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:29.408061" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:29.401772" elapsed="0.006882">Url: http://10.30.171.138: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-08-18T20:23:29.409016" 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-08-18T20:23:29.409636" 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-08-18T20:23:29.409950" 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-08-18T20:23:29.410243" 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-08-18T20:23:29.410544" 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-08-18T20:23:29.410834" 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-08-18T20:23:29.411200" 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-08-18T20:23:29.411566" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:29.411329" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:29.411303" elapsed="0.000372"/>
</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-08-18T20:23:29.412003" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:29.411767" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:29.411727" elapsed="0.000385"/>
</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-08-18T20:23:29.412415" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:29.412184" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:29.412163" elapsed="0.000360"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:29.409399" elapsed="0.003156"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:29.409125" elapsed="0.003466"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:29.400806" elapsed="0.011920">Url: http://10.30.171.138: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-08-18T20:23:31.421285" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:31.421416" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:31.421652" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:31.414974" elapsed="0.007617">Url: http://10.30.171.138: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-08-18T20:23:31.423164" elapsed="0.000112"/>
</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-08-18T20:23:31.424101" 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-08-18T20:23:31.424371" 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-08-18T20:23:31.424633" 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-08-18T20:23:31.424912" 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-08-18T20:23:31.425174" elapsed="0.000027"/>
</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-08-18T20:23:31.425444" 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-08-18T20:23:31.425831" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:31.425575" elapsed="0.000347"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:31.425546" 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-08-18T20:23:31.426264" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:31.426033" elapsed="0.000305"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:31.426012" elapsed="0.000357"/>
</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-08-18T20:23:31.426664" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:31.426438" elapsed="0.000298"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:31.426417" elapsed="0.000371"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:31.423827" elapsed="0.002993"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:31.423398" elapsed="0.003459"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:31.414041" elapsed="0.013042">Url: http://10.30.171.138: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-08-18T20:23:33.436236" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:33.436327" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:33.436498" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:33.430094" elapsed="0.007057">Url: http://10.30.171.138: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-08-18T20:23:33.437503" elapsed="0.000042"/>
</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-08-18T20:23:33.438155" 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-08-18T20:23:33.438449" 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-08-18T20:23:33.438725" 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-08-18T20:23:33.439029" 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-08-18T20:23:33.439310" 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-08-18T20:23:33.439586" 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-08-18T20:23:33.439984" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:33.439718" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:33.439691" 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-08-18T20:23:33.440419" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:33.440174" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:33.440151" 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-08-18T20:23:33.440857" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:33.440603" elapsed="0.000350"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:33.440582" elapsed="0.000406"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:33.437916" elapsed="0.003104"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:33.437620" elapsed="0.003437"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:33.429141" elapsed="0.012059">Url: http://10.30.171.138: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-08-18T20:23:35.449094" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:35.449199" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:35.449371" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:35.443420" elapsed="0.006582">Url: http://10.30.171.138: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-08-18T20:23:35.450456" 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-08-18T20:23:35.451092" 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-08-18T20:23:35.451400" 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-08-18T20:23:35.451661" 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-08-18T20:23:35.451945" 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-08-18T20:23:35.452210" 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-08-18T20:23:35.452477" 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-08-18T20:23:35.452866" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:35.452604" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:35.452578" 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-08-18T20:23:35.453279" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:35.453051" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:35.453030" elapsed="0.000355"/>
</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-08-18T20:23:35.453683" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:35.453455" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:35.453434" elapsed="0.000375"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:35.450842" elapsed="0.002998"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:35.450568" elapsed="0.003309"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:35.442478" elapsed="0.011536">Url: http://10.30.171.138: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-08-18T20:23:37.462499" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:37.462595" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:37.462781" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:37.456388" elapsed="0.007445">Url: http://10.30.171.138: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-08-18T20:23:37.464191" 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-08-18T20:23:37.464827" 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-08-18T20:23:37.465112" 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-08-18T20:23:37.465389" 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-08-18T20:23:37.465657" 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-08-18T20:23:37.465950" 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-08-18T20:23:37.466228" 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-08-18T20:23:37.466699" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:37.466443" elapsed="0.000356"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:37.466414" 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-08-18T20:23:37.467161" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:37.466923" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:37.466898" 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-08-18T20:23:37.467583" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:37.467349" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:37.467323" elapsed="0.000371"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:37.464568" elapsed="0.003160"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:37.464302" elapsed="0.003491"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:37.455377" elapsed="0.012602">Url: http://10.30.171.138: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-08-18T20:23:39.477702" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:39.477851" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:39.478054" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:39.470308" elapsed="0.008411">Url: http://10.30.171.138: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-08-18T20:23:39.479088" 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-08-18T20:23:39.479684" elapsed="0.000030"/>
</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-08-18T20:23:39.479978" 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-08-18T20:23:39.480244" 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-08-18T20:23:39.480507" 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-08-18T20:23:39.480794" 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-08-18T20:23:39.481062" 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-08-18T20:23:39.481438" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:39.481203" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:39.481174" elapsed="0.000373"/>
</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-08-18T20:23:39.481866" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:39.481620" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:39.481598" 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-08-18T20:23:39.482278" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:39.482046" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:39.482025" elapsed="0.000359"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:39.479454" elapsed="0.002961"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:39.479197" elapsed="0.003254"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:39.469354" elapsed="0.013233">Url: http://10.30.171.138: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-08-18T20:23:41.491390" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:41.491479" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:41.491637" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:41.485005" elapsed="0.007285">Url: http://10.30.171.138: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-08-18T20:23:41.492652" 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-08-18T20:23:41.493324" 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-08-18T20:23:41.493617" 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-08-18T20:23:41.493936" elapsed="0.000038"/>
</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-08-18T20:23:41.494240" 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-08-18T20:23:41.494552" elapsed="0.000036"/>
</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-08-18T20:23:41.494872" 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-08-18T20:23:41.495580" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:41.495314" elapsed="0.000348"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:41.494983" elapsed="0.000717"/>
</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-08-18T20:23:41.496063" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:41.495812" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:41.495786" 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-08-18T20:23:41.496510" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:41.496262" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:41.496238" elapsed="0.000385"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:41.493060" elapsed="0.003595"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:41.492786" elapsed="0.003908"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:41.483985" elapsed="0.012874">Url: http://10.30.171.138: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-08-18T20:23:43.505680" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:43.505853" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:43.506094" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:43.499254" elapsed="0.007784">Url: http://10.30.171.138: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-08-18T20:23:43.507810" elapsed="0.000059"/>
</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-08-18T20:23:43.508792" elapsed="0.000036"/>
</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-08-18T20:23:43.509075" 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-08-18T20:23:43.509353" 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-08-18T20:23:43.509654" 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-08-18T20:23:43.509933" 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-08-18T20:23:43.510198" 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-08-18T20:23:43.510562" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:43.510327" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:43.510301" elapsed="0.000370"/>
</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-08-18T20:23:43.510991" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:43.510760" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:43.510722" 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-08-18T20:23:43.511395" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:43.511169" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:43.511149" elapsed="0.000365"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:43.508404" elapsed="0.003144"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:43.507990" elapsed="0.003599"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:43.498241" elapsed="0.013489">Url: http://10.30.171.138: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-08-18T20:23:45.520515" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:45.520603" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:45.520782" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:45.514001" elapsed="0.007374">Url: http://10.30.171.138: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-08-18T20:23:45.521710" 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-08-18T20:23:45.522328" elapsed="0.000030"/>
</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-08-18T20:23:45.522597" 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-08-18T20:23:45.522882" 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-08-18T20:23:45.523146" 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-08-18T20:23:45.523407" 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-08-18T20:23:45.523671" 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-08-18T20:23:45.524052" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:45.523814" elapsed="0.000398"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:45.523787" elapsed="0.000461"/>
</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-08-18T20:23:45.524587" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:45.524324" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:45.524303" 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-08-18T20:23:45.525017" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:45.524787" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:45.524764" elapsed="0.000358"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:45.522099" elapsed="0.003054"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:45.521839" elapsed="0.003351"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:45.513071" elapsed="0.012256">Url: http://10.30.171.138: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-08-18T20:23:47.535212" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:47.535360" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:47.535653" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:47.527632" elapsed="0.009099">Url: http://10.30.171.138: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-08-18T20:23:47.537318" 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-08-18T20:23:47.538494" 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-08-18T20:23:47.538807" 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-08-18T20:23:47.539077" 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-08-18T20:23:47.539341" 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-08-18T20:23:47.539730" elapsed="0.000068"/>
</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-08-18T20:23:47.540127" 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-08-18T20:23:47.540618" elapsed="0.000040"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:47.540289" elapsed="0.000434"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:47.540255" elapsed="0.000541"/>
</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-08-18T20:23:47.541193" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:47.540898" elapsed="0.000384"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:47.540870" elapsed="0.000450"/>
</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-08-18T20:23:47.541705" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:47.541419" elapsed="0.000397"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:47.541379" elapsed="0.000475"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:47.538063" elapsed="0.003829"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:47.537571" elapsed="0.004360"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:47.526685" elapsed="0.015413">Url: http://10.30.171.138: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-08-18T20:23:49.552145" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:49.552303" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:49.552435" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:49.545001" elapsed="0.007916">Url: http://10.30.171.138: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-08-18T20:23:49.553193" 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-08-18T20:23:49.553644" 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-08-18T20:23:49.553860" 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-08-18T20:23:49.554065" 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-08-18T20:23:49.554262" 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-08-18T20:23:49.554476" 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-08-18T20:23:49.554672" 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-08-18T20:23:49.554962" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:49.554786" elapsed="0.000238"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:49.554764" elapsed="0.000288"/>
</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-08-18T20:23:49.555275" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:49.555108" elapsed="0.000223"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:49.555092" 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-08-18T20:23:49.555573" elapsed="0.000021"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:49.555407" elapsed="0.000220"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:49.555393" elapsed="0.000258"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:49.553471" elapsed="0.002204"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:49.553275" elapsed="0.002427"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:49.543668" elapsed="0.012157">Url: http://10.30.171.138: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-08-18T20:23:51.564124" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:51.564211" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:51.564378" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:51.558021" elapsed="0.006995">Url: http://10.30.171.138: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-08-18T20:23:51.565360" 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-08-18T20:23:51.566313" 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-08-18T20:23:51.566603" elapsed="0.000102"/>
</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-08-18T20:23:51.566983" 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-08-18T20:23:51.567280" 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-08-18T20:23:51.567549" 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-08-18T20:23:51.567834" 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-08-18T20:23:51.568211" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:51.567965" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:51.567938" 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-08-18T20:23:51.568625" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:51.568396" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:51.568375" elapsed="0.000355"/>
</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-08-18T20:23:51.569053" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:51.568824" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:51.568802" elapsed="0.000356"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:51.566071" elapsed="0.003118"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:51.565467" elapsed="0.003758"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:51.557109" elapsed="0.012256">Url: http://10.30.171.138: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-08-18T20:23:53.574872" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:53.574939" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:53.575059" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:53.570690" elapsed="0.004834">Url: http://10.30.171.138: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-08-18T20:23:53.575807" 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-08-18T20:23:53.576291" 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-08-18T20:23:53.576491" 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-08-18T20:23:53.576828" 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-08-18T20:23:53.577128" 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-08-18T20:23:53.577415" 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-08-18T20:23:53.577702" 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-08-18T20:23:53.578118" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:53.577864" elapsed="0.000334"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:53.577834" 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-08-18T20:23:53.578560" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:53.578315" elapsed="0.000410"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:53.578293" elapsed="0.000492"/>
</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-08-18T20:23:53.579124" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:53.578868" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:53.578844" elapsed="0.000394"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:53.576119" elapsed="0.003157"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:53.575899" elapsed="0.003416"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:53.570185" elapsed="0.009280">Url: http://10.30.171.138: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-08-18T20:23:55.587532" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:55.587619" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:55.587797" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:55.581715" elapsed="0.006677">Url: http://10.30.171.138: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-08-18T20:23:55.588768" 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-08-18T20:23:55.589362" 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-08-18T20:23:55.589636" 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-08-18T20:23:55.589925" 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-08-18T20:23:55.590187" 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-08-18T20:23:55.590449" elapsed="0.000027"/>
</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-08-18T20:23:55.590712" 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-08-18T20:23:55.591106" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:55.590858" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:55.590832" 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-08-18T20:23:55.591523" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:55.591293" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:55.591272" elapsed="0.000355"/>
</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-08-18T20:23:55.591944" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:55.591697" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:55.591676" elapsed="0.000374"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:55.589134" elapsed="0.002946"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:55.588877" elapsed="0.003238"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:55.580803" elapsed="0.011448">Url: http://10.30.171.138: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-08-18T20:23:57.601269" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:57.601362" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:57.601616" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:57.594976" elapsed="0.007253">Url: http://10.30.171.138: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-08-18T20:23:57.602561" 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-08-18T20:23:57.603172" 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-08-18T20:23:57.603447" 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-08-18T20:23:57.603714" elapsed="0.000044"/>
</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-08-18T20:23:57.604003" 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-08-18T20:23:57.604269" elapsed="0.000027"/>
</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-08-18T20:23:57.604533" 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-08-18T20:23:57.604919" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:57.604664" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:57.604638" 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-08-18T20:23:57.605329" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:57.605100" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:57.605079" 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-08-18T20:23:57.605771" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:57.605525" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:57.605500" elapsed="0.000379"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:57.602943" elapsed="0.002967"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:57.602665" elapsed="0.003281"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:57.594068" elapsed="0.012013">Url: http://10.30.171.138: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-08-18T20:23:59.614946" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:23:59.615034" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:23:59.615188" level="FAIL">Url: http://10.30.171.138: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-08-18T20:23:59.608166" elapsed="0.007637">Url: http://10.30.171.138: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-08-18T20:23:59.616137" 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-08-18T20:23:59.616724" elapsed="0.000051"/>
</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-08-18T20:23:59.617023" 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-08-18T20:23:59.617288" 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-08-18T20:23:59.617552" 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-08-18T20:23:59.617834" 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-08-18T20:23:59.618207" 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-08-18T20:23:59.618577" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:59.618337" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:59.618310" elapsed="0.000375"/>
</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-08-18T20:23:59.619011" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:59.618778" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:59.618736" elapsed="0.000382"/>
</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-08-18T20:23:59.619420" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:23:59.619190" elapsed="0.000305"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:23:59.619169" elapsed="0.000358"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:23:59.616496" elapsed="0.003062"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:23:59.616241" elapsed="0.003353"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:23:59.607281" elapsed="0.012448">Url: http://10.30.171.138: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-08-18T20:24:01.628767" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:01.628905" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:01.629152" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:01.621950" elapsed="0.008126">Url: http://10.30.171.138: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-08-18T20:24:01.630584" 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-08-18T20:24:01.631619" 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-08-18T20:24:01.632047" 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-08-18T20:24:01.632311" 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-08-18T20:24:01.632573" 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-08-18T20:24:01.632857" 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-08-18T20:24:01.633127" 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-08-18T20:24:01.633488" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:01.633253" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:01.633226" elapsed="0.000369"/>
</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-08-18T20:24:01.633917" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:01.633668" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:01.633647" 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-08-18T20:24:01.634325" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:01.634096" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:01.634075" elapsed="0.000355"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:01.631257" elapsed="0.003205"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:01.630850" elapsed="0.003648"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:01.621041" elapsed="0.013658">Url: http://10.30.171.138: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-08-18T20:24:03.643859" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:03.644000" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:03.644249" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:03.637128" elapsed="0.008146">Url: http://10.30.171.138: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-08-18T20:24:03.645853" 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-08-18T20:24:03.646891" 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-08-18T20:24:03.647435" elapsed="0.000053"/>
</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-08-18T20:24:03.647942" 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-08-18T20:24:03.648405" 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-08-18T20:24:03.648890" 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-08-18T20:24:03.649349" 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-08-18T20:24:03.649996" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:03.649560" elapsed="0.000565"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:03.649517" elapsed="0.000666"/>
</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-08-18T20:24:03.650703" elapsed="0.000075"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:03.650311" elapsed="0.000553"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:03.650276" elapsed="0.000650"/>
</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-08-18T20:24:03.651467" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:03.651057" elapsed="0.000531"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:03.651019" elapsed="0.000619"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:03.646470" elapsed="0.005217"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:03.646036" elapsed="0.005732"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:03.636087" elapsed="0.015913">Url: http://10.30.171.138: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-08-18T20:24:05.660830" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:05.660918" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:05.661071" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:05.654045" elapsed="0.007612">Url: http://10.30.171.138: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-08-18T20:24:05.662086" 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-08-18T20:24:05.662675" elapsed="0.000030"/>
</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-08-18T20:24:05.665202" 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-08-18T20:24:05.665482" 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-08-18T20:24:05.665764" 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-08-18T20:24:05.666030" 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-08-18T20:24:05.666298" 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-08-18T20:24:05.666660" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:05.666424" elapsed="0.000311"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:05.666398" 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-08-18T20:24:05.667094" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:05.666863" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:05.666841" elapsed="0.000360"/>
</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-08-18T20:24:05.667501" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:05.667273" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:05.667252" elapsed="0.000354"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:05.662447" elapsed="0.005190"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:05.662191" elapsed="0.005518"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:05.653157" elapsed="0.014712">Url: http://10.30.171.138: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-08-18T20:24:07.676359" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:07.676445" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:07.676602" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:07.670102" elapsed="0.007122">Url: http://10.30.171.138: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-08-18T20:24:07.677578" 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-08-18T20:24:07.678196" 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-08-18T20:24:07.678469" 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-08-18T20:24:07.678733" 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-08-18T20:24:07.679021" 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-08-18T20:24:07.679283" 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-08-18T20:24:07.679547" 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-08-18T20:24:07.680045" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:07.679786" elapsed="0.000367"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:07.679737" elapsed="0.000459"/>
</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-08-18T20:24:07.680512" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:07.680282" elapsed="0.000303"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:07.680261" elapsed="0.000355"/>
</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-08-18T20:24:07.680940" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:07.680691" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:07.680671" elapsed="0.000375"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:07.677964" elapsed="0.003114"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:07.677685" elapsed="0.003430"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:07.669155" elapsed="0.012098">Url: http://10.30.171.138: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-08-18T20:24:09.690120" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:09.690255" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:09.690495" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:09.683537" elapsed="0.007903">Url: http://10.30.171.138: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-08-18T20:24:09.692003" 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-08-18T20:24:09.693062" elapsed="0.000060"/>
</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-08-18T20:24:09.693385" 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-08-18T20:24:09.693643" 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-08-18T20:24:09.693929" 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-08-18T20:24:09.694193" 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-08-18T20:24:09.694457" 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-08-18T20:24:09.694838" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:09.694586" elapsed="0.000328"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:09.694559" 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-08-18T20:24:09.695247" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:09.695021" elapsed="0.000299"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:09.695001" elapsed="0.000351"/>
</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-08-18T20:24:09.695645" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:09.695422" elapsed="0.000295"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:09.695402" elapsed="0.000364"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:09.692642" elapsed="0.003157"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:09.692172" elapsed="0.003663"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:09.682596" elapsed="0.013383">Url: http://10.30.171.138: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-08-18T20:24:11.704508" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:11.704592" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:11.704780" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:11.698245" elapsed="0.007151">Url: http://10.30.171.138: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-08-18T20:24:11.705735" 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-08-18T20:24:11.706351" elapsed="0.000030"/>
</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-08-18T20:24:11.706622" 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-08-18T20:24:11.706912" 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-08-18T20:24:11.707181" 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-08-18T20:24:11.707446" 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-08-18T20:24:11.707713" 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-08-18T20:24:11.708096" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:11.707860" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:11.707832" elapsed="0.000372"/>
</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-08-18T20:24:11.708508" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:11.708278" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:11.708256" 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-08-18T20:24:11.708933" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:11.708686" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:11.708665" elapsed="0.000391"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:11.706124" elapsed="0.002965"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:11.705864" elapsed="0.003261"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:11.697328" elapsed="0.011933">Url: http://10.30.171.138: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-08-18T20:24:13.717732" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:13.717904" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:13.718137" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:13.711562" elapsed="0.007213">Url: http://10.30.171.138: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-08-18T20:24:13.719197" 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-08-18T20:24:13.719823" 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-08-18T20:24:13.720099" 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-08-18T20:24:13.720365" 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-08-18T20:24:13.720628" 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-08-18T20:24:13.720912" 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-08-18T20:24:13.721181" 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-08-18T20:24:13.721560" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:13.721308" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:13.721282" 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-08-18T20:24:13.721999" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:13.721764" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:13.721724" 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-08-18T20:24:13.722411" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:13.722181" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:13.722159" elapsed="0.000358"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:13.719571" elapsed="0.002978"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:13.719305" elapsed="0.003279"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:13.710635" elapsed="0.012087">Url: http://10.30.171.138: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-08-18T20:24:15.730944" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:15.731031" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:15.731182" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:15.725012" elapsed="0.006778">Url: http://10.30.171.138: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-08-18T20:24:15.732130" 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-08-18T20:24:15.733076" 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-08-18T20:24:15.733352" 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-08-18T20:24:15.733618" 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-08-18T20:24:15.733905" 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-08-18T20:24:15.734191" 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-08-18T20:24:15.734467" 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-08-18T20:24:15.734851" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:15.734593" elapsed="0.000409"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:15.734566" elapsed="0.000471"/>
</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-08-18T20:24:15.735343" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:15.735112" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:15.735091" elapsed="0.000357"/>
</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-08-18T20:24:15.735765" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:15.735519" elapsed="0.000324"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:15.735499" elapsed="0.000375"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:15.732840" elapsed="0.003065"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:15.732236" elapsed="0.003707"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:15.724052" elapsed="0.012031">Url: http://10.30.171.138: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-08-18T20:24:17.744075" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:17.744160" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:17.744323" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:17.738412" elapsed="0.006546">Url: http://10.30.171.138: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-08-18T20:24:17.745314" 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-08-18T20:24:17.746012" 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-08-18T20:24:17.746305" 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-08-18T20:24:17.746614" 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-08-18T20:24:17.746906" 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-08-18T20:24:17.747173" 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-08-18T20:24:17.747441" 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-08-18T20:24:17.747835" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:17.747574" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:17.747545" 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-08-18T20:24:17.748254" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:17.748023" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:17.748001" 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-08-18T20:24:17.748708" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:17.748461" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:17.748435" elapsed="0.000400"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:17.745736" elapsed="0.003130"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:17.745445" elapsed="0.003458"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:17.737446" elapsed="0.011596">Url: http://10.30.171.138: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-08-18T20:24:19.757422" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:19.757619" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:19.757814" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:19.751323" elapsed="0.007092">Url: http://10.30.171.138: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-08-18T20:24:19.758802" 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-08-18T20:24:19.759428" 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-08-18T20:24:19.759706" 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-08-18T20:24:19.760026" 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-08-18T20:24:19.760298" 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-08-18T20:24:19.760562" 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-08-18T20:24:19.760872" 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-08-18T20:24:19.761252" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:19.761010" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:19.760982" 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-08-18T20:24:19.761672" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:19.761438" elapsed="0.000328"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:19.761417" 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-08-18T20:24:19.762128" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:19.761895" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:19.761871" elapsed="0.000364"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:19.759194" elapsed="0.003072"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:19.758932" elapsed="0.003370"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:19.750333" elapsed="0.012110">Url: http://10.30.171.138: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-08-18T20:24:21.771123" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:21.771212" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:21.771402" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:21.765228" elapsed="0.006815">Url: http://10.30.171.138: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-08-18T20:24:21.772383" 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-08-18T20:24:21.773136" 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-08-18T20:24:21.773442" elapsed="0.000108"/>
</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-08-18T20:24:21.773819" 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-08-18T20:24:21.774088" 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-08-18T20:24:21.774352" elapsed="0.000027"/>
</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-08-18T20:24:21.774616" 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-08-18T20:24:21.775006" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:21.774762" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:21.774718" elapsed="0.000398"/>
</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-08-18T20:24:21.775458" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:21.775190" elapsed="0.000350"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:21.775169" 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-08-18T20:24:21.775895" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:21.775644" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:21.775623" elapsed="0.000380"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:21.772897" elapsed="0.003138"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:21.772489" elapsed="0.003583"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:21.764347" elapsed="0.011864">Url: http://10.30.171.138: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-08-18T20:24:23.784481" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:23.784628" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:23.784901" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:23.778381" elapsed="0.007475">Url: http://10.30.171.138: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-08-18T20:24:23.786365" 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-08-18T20:24:23.787546" elapsed="0.000051"/>
</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-08-18T20:24:23.788109" 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-08-18T20:24:23.788507" 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-08-18T20:24:23.788806" 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-08-18T20:24:23.789124" 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-08-18T20:24:23.789414" 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-08-18T20:24:23.789812" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:23.789555" elapsed="0.000333"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:23.789527" elapsed="0.000396"/>
</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-08-18T20:24:23.790223" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:23.789996" elapsed="0.000384"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:23.789975" elapsed="0.000449"/>
</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-08-18T20:24:23.790817" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:23.790520" elapsed="0.000375"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:23.790487" elapsed="0.000439"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:23.787169" elapsed="0.003789"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:23.786584" elapsed="0.004411"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:23.777463" elapsed="0.013671">Url: http://10.30.171.138: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-08-18T20:24:25.799478" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:25.799566" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:25.799722" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:25.793433" elapsed="0.007328">Url: http://10.30.171.138: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-08-18T20:24:25.801103" 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-08-18T20:24:25.801700" 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-08-18T20:24:25.802001" 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-08-18T20:24:25.802268" 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-08-18T20:24:25.802533" 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-08-18T20:24:25.802818" 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-08-18T20:24:25.803086" 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-08-18T20:24:25.803451" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:25.803213" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:25.803187" elapsed="0.000373"/>
</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-08-18T20:24:25.803887" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:25.803634" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:25.803612" elapsed="0.000383"/>
</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-08-18T20:24:25.804297" elapsed="0.000060"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:25.804067" elapsed="0.000337"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:25.804045" elapsed="0.000391"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:25.801471" elapsed="0.002997"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:25.801211" elapsed="0.003293"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:25.792515" elapsed="0.012128">Url: http://10.30.171.138: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-08-18T20:24:27.813350" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:27.813484" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:27.813874" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:27.806919" elapsed="0.007893">Url: http://10.30.171.138: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-08-18T20:24:27.815336" 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-08-18T20:24:27.816318" 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-08-18T20:24:27.816850" 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-08-18T20:24:27.817311" 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-08-18T20:24:27.817806" elapsed="0.000024"/>
</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-08-18T20:24:27.818004" 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-08-18T20:24:27.818196" 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-08-18T20:24:27.818465" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:27.818292" elapsed="0.000228"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:27.818271" elapsed="0.000274"/>
</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-08-18T20:24:27.818787" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:27.818598" elapsed="0.000246"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:27.818582" elapsed="0.000285"/>
</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-08-18T20:24:27.819084" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:27.818919" elapsed="0.000219"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:27.818904" elapsed="0.000256"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:27.815945" elapsed="0.003237"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:27.815504" elapsed="0.003705"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:27.805992" elapsed="0.013316">Url: http://10.30.171.138: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-08-18T20:24:29.827595" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:29.827681" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:29.827861" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:29.821559" elapsed="0.006893">Url: http://10.30.171.138: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-08-18T20:24:29.828811" 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-08-18T20:24:29.829426" 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-08-18T20:24:29.829697" 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-08-18T20:24:29.829984" 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-08-18T20:24:29.830246" 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-08-18T20:24:29.830508" 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-08-18T20:24:29.830881" 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-08-18T20:24:29.831576" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:29.831321" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:29.830985" elapsed="0.000703"/>
</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-08-18T20:24:29.832022" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:29.831785" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:29.831760" 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-08-18T20:24:29.832438" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:29.832207" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:29.832185" elapsed="0.000362"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:29.829178" elapsed="0.003400"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:29.828918" elapsed="0.003696"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:29.820606" elapsed="0.012163">Url: http://10.30.171.138: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-08-18T20:24:31.841266" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:31.841397" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:31.841629" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:31.835032" elapsed="0.007590">Url: http://10.30.171.138: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-08-18T20:24:31.843045" 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-08-18T20:24:31.843645" 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-08-18T20:24:31.843939" 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-08-18T20:24:31.844207" 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-08-18T20:24:31.844473" 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-08-18T20:24:31.844738" 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-08-18T20:24:31.845025" 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-08-18T20:24:31.845389" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:31.845152" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:31.845126" elapsed="0.000372"/>
</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-08-18T20:24:31.845838" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:31.845572" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:31.845550" 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-08-18T20:24:31.846250" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:31.846020" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:31.845998" elapsed="0.000361"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:31.843411" elapsed="0.002979"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:31.843153" elapsed="0.003273"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:31.834071" elapsed="0.012560">Url: http://10.30.171.138: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-08-18T20:24:33.856126" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:33.856213" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:33.856368" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:33.848955" elapsed="0.008032">Url: http://10.30.171.138: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-08-18T20:24:33.857319" 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-08-18T20:24:33.857931" 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-08-18T20:24:33.858251" 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-08-18T20:24:33.858545" 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-08-18T20:24:33.858851" 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-08-18T20:24:33.859119" 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-08-18T20:24:33.859385" 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-08-18T20:24:33.859766" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:33.859511" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:33.859485" 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-08-18T20:24:33.860180" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:33.859950" elapsed="0.000305"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:33.859928" elapsed="0.000359"/>
</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-08-18T20:24:33.860610" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:33.860372" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:33.860343" elapsed="0.000374"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:33.857679" elapsed="0.003099"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:33.857423" elapsed="0.003402"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:33.847980" elapsed="0.012982">Url: http://10.30.171.138: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-08-18T20:24:35.870122" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:35.870209" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:35.870374" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:35.863305" elapsed="0.007739">Url: http://10.30.171.138: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-08-18T20:24:35.871450" 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-08-18T20:24:35.872062" 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-08-18T20:24:35.872335" 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-08-18T20:24:35.872600" 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-08-18T20:24:35.872884" 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-08-18T20:24:35.873150" 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-08-18T20:24:35.873417" 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-08-18T20:24:35.873801" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:35.873543" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:35.873517" 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-08-18T20:24:35.874222" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:35.873991" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:35.873969" elapsed="0.000359"/>
</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-08-18T20:24:35.874629" elapsed="0.000043"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:35.874401" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:35.874380" elapsed="0.000386"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:35.871833" elapsed="0.002967"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:35.871556" elapsed="0.003280"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:35.862306" elapsed="0.012668">Url: http://10.30.171.138: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-08-18T20:24:37.883799" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:37.883948" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:37.884130" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:37.877231" elapsed="0.007493">Url: http://10.30.171.138: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-08-18T20:24:37.885100" 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-08-18T20:24:37.885693" elapsed="0.000030"/>
</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-08-18T20:24:37.885989" 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-08-18T20:24:37.886254" 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-08-18T20:24:37.886516" 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-08-18T20:24:37.886794" 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-08-18T20:24:37.887060" 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-08-18T20:24:37.887534" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:37.887287" elapsed="0.000322"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:37.887259" 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-08-18T20:24:37.887969" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:37.887718" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:37.887696" 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-08-18T20:24:37.888379" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:37.888149" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:37.888128" elapsed="0.000358"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:37.885466" elapsed="0.003053"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:37.885206" elapsed="0.003349"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:37.876279" elapsed="0.012413">Url: http://10.30.171.138: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-08-18T20:24:39.897173" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:39.897262" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:39.897419" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:39.890930" elapsed="0.007108">Url: http://10.30.171.138: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-08-18T20:24:39.898385" 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-08-18T20:24:39.899341" 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-08-18T20:24:39.899636" 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-08-18T20:24:39.899918" 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-08-18T20:24:39.900183" 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-08-18T20:24:39.900442" elapsed="0.000027"/>
</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-08-18T20:24:39.900704" 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-08-18T20:24:39.901128" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:39.900854" elapsed="0.000362"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:39.900825" 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-08-18T20:24:39.901554" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:39.901326" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:39.901304" elapsed="0.000355"/>
</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-08-18T20:24:39.901978" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:39.901730" elapsed="0.000326"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:39.901709" elapsed="0.000380"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:39.899105" elapsed="0.003020"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:39.898493" elapsed="0.003672"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:39.889991" elapsed="0.012318">Url: http://10.30.171.138: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-08-18T20:24:41.911089" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:41.911224" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:41.911458" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:41.904734" elapsed="0.007700">Url: http://10.30.171.138: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-08-18T20:24:41.912978" 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-08-18T20:24:41.913626" 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-08-18T20:24:41.913916" 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-08-18T20:24:41.914181" 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-08-18T20:24:41.914446" 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-08-18T20:24:41.914710" 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-08-18T20:24:41.914996" 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-08-18T20:24:41.915357" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:41.915123" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:41.915097" elapsed="0.000369"/>
</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-08-18T20:24:41.915789" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:41.915539" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:41.915518" 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-08-18T20:24:41.916240" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:41.915970" elapsed="0.000348"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:41.915948" elapsed="0.000401"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:41.913397" elapsed="0.002983"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:41.913139" elapsed="0.003275"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:41.903798" elapsed="0.012754">Url: http://10.30.171.138: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-08-18T20:24:43.925462" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:43.925595" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:43.925870" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:43.918727" elapsed="0.008060">Url: http://10.30.171.138: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-08-18T20:24:43.927393" 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-08-18T20:24:43.928362" 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-08-18T20:24:43.928882" 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-08-18T20:24:43.929313" 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-08-18T20:24:43.929778" 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-08-18T20:24:43.930052" 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-08-18T20:24:43.930316" 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-08-18T20:24:43.930676" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:43.930443" elapsed="0.000326"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:43.930416" elapsed="0.000388"/>
</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-08-18T20:24:43.931105" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:43.930877" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:43.930855" elapsed="0.000355"/>
</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-08-18T20:24:43.931506" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:43.931280" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:43.931259" elapsed="0.000352"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:43.927997" elapsed="0.003645"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:43.927559" elapsed="0.004118"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:43.917840" elapsed="0.013992">Url: http://10.30.171.138: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-08-18T20:24:45.940993" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:45.941144" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:45.941356" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:45.934655" elapsed="0.007328">Url: http://10.30.171.138: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-08-18T20:24:45.942325" 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-08-18T20:24:45.942938" 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-08-18T20:24:45.943210" 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-08-18T20:24:45.943470" 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-08-18T20:24:45.943730" 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-08-18T20:24:45.944012" elapsed="0.000027"/>
</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-08-18T20:24:45.944278" 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-08-18T20:24:45.944642" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:45.944406" elapsed="0.000400"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:45.944379" 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-08-18T20:24:45.945168" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:45.944918" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:45.944897" 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-08-18T20:24:45.945568" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:45.945344" elapsed="0.000298"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:45.945324" elapsed="0.000349"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:45.942690" elapsed="0.003013"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:45.942433" elapsed="0.003308"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:45.933789" elapsed="0.012113">Url: http://10.30.171.138: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-08-18T20:24:47.954335" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:47.954424" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:47.954591" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:47.948219" elapsed="0.007023">Url: http://10.30.171.138: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-08-18T20:24:47.955628" 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-08-18T20:24:47.956245" 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-08-18T20:24:47.956549" 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-08-18T20:24:47.956850" 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-08-18T20:24:47.957113" 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-08-18T20:24:47.957373" 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-08-18T20:24:47.957663" 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-08-18T20:24:47.958050" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:47.957813" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:47.957784" 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-08-18T20:24:47.958513" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:47.958255" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:47.958227" 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-08-18T20:24:47.958939" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:47.958689" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:47.958668" elapsed="0.000382"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:47.956013" elapsed="0.003068"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:47.955734" elapsed="0.003384"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:47.947235" elapsed="0.012036">Url: http://10.30.171.138: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-08-18T20:24:49.967425" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:49.967596" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:49.968100" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:49.961530" elapsed="0.007169">Url: http://10.30.171.138: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-08-18T20:24:49.969067" 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-08-18T20:24:49.969656" 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-08-18T20:24:49.970016" 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-08-18T20:24:49.970293" 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-08-18T20:24:49.970562" 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-08-18T20:24:49.970847" 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-08-18T20:24:49.971112" 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-08-18T20:24:49.971475" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:49.971237" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:49.971211" elapsed="0.000372"/>
</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-08-18T20:24:49.971904" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:49.971655" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:49.971634" 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-08-18T20:24:49.972311" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:49.972082" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:49.972061" elapsed="0.000356"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:49.969430" elapsed="0.003018"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:49.969174" elapsed="0.003309"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:49.960612" elapsed="0.012006">Url: http://10.30.171.138: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-08-18T20:24:51.981155" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:51.981268" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:51.981474" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:51.974857" elapsed="0.007245">Url: http://10.30.171.138: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-08-18T20:24:51.982464" 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-08-18T20:24:51.983085" 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-08-18T20:24:51.983359" elapsed="0.000121"/>
</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-08-18T20:24:51.983760" 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-08-18T20:24:51.984038" 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-08-18T20:24:51.984302" elapsed="0.000027"/>
</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-08-18T20:24:51.984568" 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-08-18T20:24:51.984957" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:51.984701" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:51.984674" 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-08-18T20:24:51.985365" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:51.985137" elapsed="0.000301"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:51.985116" elapsed="0.000353"/>
</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-08-18T20:24:51.985785" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:51.985539" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:51.985518" elapsed="0.000373"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:51.982854" elapsed="0.003069"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:51.982572" elapsed="0.003386"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:51.973912" elapsed="0.012186">Url: http://10.30.171.138: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-08-18T20:24:53.994728" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:53.994841" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:53.995017" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:53.988464" elapsed="0.007203">Url: http://10.30.171.138: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-08-18T20:24:53.996040" 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-08-18T20:24:53.996665" 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-08-18T20:24:53.996977" 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-08-18T20:24:53.997246" 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-08-18T20:24:53.997506" 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-08-18T20:24:53.997783" 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-08-18T20:24:53.998353" 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-08-18T20:24:53.998776" elapsed="0.000032"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:53.998505" elapsed="0.000373"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:53.998472" elapsed="0.000444"/>
</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-08-18T20:24:53.999225" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:53.998993" elapsed="0.000377"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:53.998971" elapsed="0.000435"/>
</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-08-18T20:24:53.999712" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:53.999481" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:53.999459" elapsed="0.000381"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:53.996409" elapsed="0.003463"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:53.996148" elapsed="0.003761"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:53.987474" elapsed="0.012577">Url: http://10.30.171.138: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-08-18T20:24:56.008352" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:56.008442" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:56.008598" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:56.002263" elapsed="0.006954">Url: http://10.30.171.138: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-08-18T20:24:56.009559" 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-08-18T20:24:56.010175" elapsed="0.000030"/>
</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-08-18T20:24:56.010444" 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-08-18T20:24:56.010704" 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-08-18T20:24:56.010985" 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-08-18T20:24:56.011243" 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-08-18T20:24:56.011563" 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-08-18T20:24:56.011954" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:56.011697" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:56.011670" elapsed="0.000395"/>
</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-08-18T20:24:56.012364" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:56.012138" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:56.012117" 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-08-18T20:24:56.012787" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:56.012545" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:56.012524" elapsed="0.000368"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:56.009945" elapsed="0.002978"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:56.009666" elapsed="0.003293"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:56.001341" elapsed="0.011758">Url: http://10.30.171.138: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-08-18T20:24:58.022021" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:24:58.022137" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:24:58.022459" level="FAIL">Url: http://10.30.171.138: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-08-18T20:24:58.015442" elapsed="0.007688">Url: http://10.30.171.138: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-08-18T20:24:58.023488" 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-08-18T20:24:58.024131" 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-08-18T20:24:58.024405" 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-08-18T20:24:58.024671" 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-08-18T20:24:58.024958" 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-08-18T20:24:58.025224" 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-08-18T20:24:58.025492" 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-08-18T20:24:58.025878" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:58.025620" elapsed="0.000334"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:58.025593" elapsed="0.000395"/>
</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-08-18T20:24:58.026290" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:58.026062" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:58.026041" elapsed="0.000355"/>
</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-08-18T20:24:58.026699" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:24:58.026467" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:24:58.026446" elapsed="0.000379"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:24:58.023898" elapsed="0.002957"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:24:58.023596" elapsed="0.003295"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:24:58.014451" elapsed="0.012576">Url: http://10.30.171.138: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-08-18T20:25:00.035917" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:00.036049" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:00.036361" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:00.029860" elapsed="0.007254">Url: http://10.30.171.138: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-08-18T20:25:00.037460" 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-08-18T20:25:00.038073" elapsed="0.000030"/>
</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-08-18T20:25:00.038343" 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-08-18T20:25:00.038603" 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-08-18T20:25:00.038884" 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-08-18T20:25:00.039148" 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-08-18T20:25:00.039493" 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-08-18T20:25:00.039879" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:00.039622" elapsed="0.000333"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:00.039596" 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-08-18T20:25:00.040319" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:00.040064" elapsed="0.000338"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:00.040042" 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-08-18T20:25:00.040738" elapsed="0.000047"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:00.040509" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:00.040487" elapsed="0.000379"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:00.037844" elapsed="0.003054"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:00.037565" elapsed="0.003369"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:00.028976" elapsed="0.012093">Url: http://10.30.171.138: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-08-18T20:25:02.049865" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:02.049951" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:02.050103" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:02.043191" elapsed="0.007510">Url: http://10.30.171.138: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-08-18T20:25:02.051065" 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-08-18T20:25:02.051657" elapsed="0.000030"/>
</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-08-18T20:25:02.051949" 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-08-18T20:25:02.052211" 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-08-18T20:25:02.052470" 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-08-18T20:25:02.052760" 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-08-18T20:25:02.053030" 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-08-18T20:25:02.053393" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:02.053159" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:02.053131" elapsed="0.000370"/>
</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-08-18T20:25:02.053821" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:02.053573" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:02.053552" 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-08-18T20:25:02.054220" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:02.053997" elapsed="0.000296"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:02.053976" elapsed="0.000349"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:02.051425" elapsed="0.002930"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:02.051172" elapsed="0.003218"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:02.042316" elapsed="0.012293">Url: http://10.30.171.138: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-08-18T20:25:04.062665" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:04.062819" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:04.065195" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:04.056548" elapsed="0.009277">Url: http://10.30.171.138: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-08-18T20:25:04.066145" 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-08-18T20:25:04.066727" 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-08-18T20:25:04.067023" 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-08-18T20:25:04.067287" 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-08-18T20:25:04.067549" 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-08-18T20:25:04.067831" 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-08-18T20:25:04.068096" 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-08-18T20:25:04.068455" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:04.068220" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:04.068195" elapsed="0.000368"/>
</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-08-18T20:25:04.068887" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:04.068635" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:04.068614" elapsed="0.000383"/>
</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-08-18T20:25:04.069309" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:04.069068" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:04.069047" elapsed="0.000370"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:04.066501" elapsed="0.002947"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:04.066249" elapsed="0.003235"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:04.055700" elapsed="0.013916">Url: http://10.30.171.138: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-08-18T20:25:06.078949" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:06.079046" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:06.079226" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:06.072173" elapsed="0.007731">Url: http://10.30.171.138: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-08-18T20:25:06.080389" 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-08-18T20:25:06.081039" 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-08-18T20:25:06.081311" 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-08-18T20:25:06.081574" 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-08-18T20:25:06.081858" 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-08-18T20:25:06.082123" elapsed="0.000027"/>
</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-08-18T20:25:06.082392" 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-08-18T20:25:06.082789" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:06.082527" elapsed="0.000340"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:06.082498" 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-08-18T20:25:06.083249" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:06.083019" elapsed="0.000305"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:06.082995" elapsed="0.000361"/>
</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-08-18T20:25:06.083704" elapsed="0.000035"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:06.083429" elapsed="0.000385"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:06.083408" elapsed="0.000439"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:06.080804" elapsed="0.003076"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:06.080506" elapsed="0.003414"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:06.071106" elapsed="0.012966">Url: http://10.30.171.138: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-08-18T20:25:08.092141" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:08.092228" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:08.092384" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:08.086390" elapsed="0.006630">Url: http://10.30.171.138: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-08-18T20:25:08.093368" 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-08-18T20:25:08.093995" 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-08-18T20:25:08.094269" 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-08-18T20:25:08.094534" 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-08-18T20:25:08.094822" 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-08-18T20:25:08.095084" 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-08-18T20:25:08.095345" 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-08-18T20:25:08.095831" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:08.095569" elapsed="0.000339"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:08.095534" 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-08-18T20:25:08.144705" elapsed="0.000077"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:08.096017" elapsed="0.048833"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:08.095996" elapsed="0.048907"/>
</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-08-18T20:25:08.145199" elapsed="0.000022"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:08.144988" elapsed="0.000268"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:08.144967" elapsed="0.000312"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:08.093747" elapsed="0.051556"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:08.093475" elapsed="0.051857"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:08.085423" elapsed="0.060043">Url: http://10.30.171.138: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-08-18T20:25:10.154602" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:10.154810" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:10.155088" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:10.147888" elapsed="0.008169">Url: http://10.30.171.138: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-08-18T20:25:10.156667" elapsed="0.000062"/>
</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-08-18T20:25:10.157703" elapsed="0.000080"/>
</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-08-18T20:25:10.158175" 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-08-18T20:25:10.158620" 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-08-18T20:25:10.159071" 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-08-18T20:25:10.159491" 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-08-18T20:25:10.159945" 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-08-18T20:25:10.160522" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:10.160148" elapsed="0.000493"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:10.160106" elapsed="0.000591"/>
</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-08-18T20:25:10.161212" elapsed="0.000045"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:10.160847" elapsed="0.000482"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:10.160810" elapsed="0.000572"/>
</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-08-18T20:25:10.161957" elapsed="0.000050"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:10.161494" elapsed="0.000590"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:10.161460" elapsed="0.000675"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:10.157328" elapsed="0.004857"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:10.156883" elapsed="0.005361"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:10.146898" elapsed="0.015626">Url: http://10.30.171.138: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-08-18T20:25:12.171218" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:12.171352" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:12.171587" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:12.164896" elapsed="0.007631">Url: http://10.30.171.138: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-08-18T20:25:12.173132" 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-08-18T20:25:12.174305" 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-08-18T20:25:12.174580" 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-08-18T20:25:12.174864" 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-08-18T20:25:12.175130" 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-08-18T20:25:12.175391" elapsed="0.000027"/>
</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-08-18T20:25:12.175654" 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-08-18T20:25:12.176040" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:12.175803" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:12.175773" elapsed="0.000374"/>
</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-08-18T20:25:12.176447" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:12.176221" elapsed="0.000299"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:12.176201" elapsed="0.000351"/>
</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-08-18T20:25:12.176881" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:12.176622" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:12.176601" elapsed="0.000388"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:12.174068" elapsed="0.002952"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:12.173301" elapsed="0.003756"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:12.163922" elapsed="0.013278">Url: http://10.30.171.138: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-08-18T20:25:14.185194" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:14.185283" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:14.185442" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:14.179496" elapsed="0.006573">Url: http://10.30.171.138: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-08-18T20:25:14.186500" 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-08-18T20:25:14.187121" elapsed="0.000030"/>
</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-08-18T20:25:14.187393" 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-08-18T20:25:14.187657" 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-08-18T20:25:14.187952" 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-08-18T20:25:14.188264" 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-08-18T20:25:14.188529" 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-08-18T20:25:14.189087" elapsed="0.000039"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:14.188656" elapsed="0.000532"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:14.188629" elapsed="0.000618"/>
</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-08-18T20:25:14.189557" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:14.189326" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:14.189303" elapsed="0.000362"/>
</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-08-18T20:25:14.189989" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:14.189736" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:14.189715" elapsed="0.000381"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:14.186891" elapsed="0.003236"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:14.186608" elapsed="0.003554"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:14.178562" elapsed="0.011738">Url: http://10.30.171.138: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-08-18T20:25:16.198415" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:16.198501" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:16.198653" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:16.192676" elapsed="0.006622">Url: http://10.30.171.138: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-08-18T20:25:16.199636" 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-08-18T20:25:16.200248" 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-08-18T20:25:16.200565" 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-08-18T20:25:16.200863" 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-08-18T20:25:16.201128" 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-08-18T20:25:16.201387" 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-08-18T20:25:16.201939" 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-08-18T20:25:16.202311" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:16.202072" elapsed="0.000390"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:16.202045" 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-08-18T20:25:16.202823" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:16.202573" elapsed="0.000327"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:16.202551" 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-08-18T20:25:16.203242" elapsed="0.000057"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:16.203001" elapsed="0.000348"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:16.202981" elapsed="0.000399"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:16.200019" elapsed="0.003392"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:16.199741" elapsed="0.003707"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:16.191692" elapsed="0.011893">Url: http://10.30.171.138: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-08-18T20:25:18.212157" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:18.212342" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:18.212575" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:18.205782" elapsed="0.007723">Url: http://10.30.171.138: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-08-18T20:25:18.214068" 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-08-18T20:25:18.215021" 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-08-18T20:25:18.215457" 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-08-18T20:25:18.215905" 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-08-18T20:25:18.216342" 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-08-18T20:25:18.216790" elapsed="0.000045"/>
</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-08-18T20:25:18.217214" elapsed="0.000044"/>
</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-08-18T20:25:18.217807" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:18.217408" elapsed="0.000519"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:18.217369" elapsed="0.000609"/>
</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-08-18T20:25:18.218456" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:18.218092" elapsed="0.000482"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:18.218058" elapsed="0.000566"/>
</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-08-18T20:25:18.219130" elapsed="0.000044"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:18.218735" elapsed="0.000516"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:18.218702" elapsed="0.000599"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:18.214634" elapsed="0.004716"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:18.214232" elapsed="0.005173"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:18.204904" elapsed="0.014708">Url: http://10.30.171.138: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-08-18T20:25:20.227765" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:20.227936" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:20.228110" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:20.221886" elapsed="0.006815">Url: http://10.30.171.138: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-08-18T20:25:20.229064" 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-08-18T20:25:20.229653" 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-08-18T20:25:20.229946" 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-08-18T20:25:20.230213" 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-08-18T20:25:20.230478" 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-08-18T20:25:20.230758" 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-08-18T20:25:20.231029" 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-08-18T20:25:20.231394" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:20.231158" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:20.231132" elapsed="0.000372"/>
</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-08-18T20:25:20.231824" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:20.231577" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:20.231555" 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-08-18T20:25:20.232263" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:20.232005" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:20.231983" elapsed="0.000389"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:20.229423" elapsed="0.002980"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:20.229169" elapsed="0.003269"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:20.220961" elapsed="0.011612">Url: http://10.30.171.138: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-08-18T20:25:22.241623" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:22.241713" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:22.241914" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:22.235497" elapsed="0.007020">Url: http://10.30.171.138: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-08-18T20:25:22.242874" 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-08-18T20:25:22.243541" 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-08-18T20:25:22.243861" elapsed="0.000099"/>
</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-08-18T20:25:22.244206" 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-08-18T20:25:22.244469" 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-08-18T20:25:22.244729" 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-08-18T20:25:22.245016" 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-08-18T20:25:22.245380" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:22.245143" elapsed="0.000311"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:22.245117" elapsed="0.000372"/>
</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-08-18T20:25:22.245807" elapsed="0.000034"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:22.245561" elapsed="0.000344"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:22.245540" 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-08-18T20:25:22.246246" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:22.246014" elapsed="0.000307"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:22.245993" elapsed="0.000361"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:22.243289" elapsed="0.003096"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:22.242993" elapsed="0.003427"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:22.234507" elapsed="0.012051">Url: http://10.30.171.138: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-08-18T20:25:24.254687" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:24.254859" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:24.255092" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:24.248711" elapsed="0.007310">Url: http://10.30.171.138: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-08-18T20:25:24.256528" 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-08-18T20:25:24.257496" 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-08-18T20:25:24.258014" 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-08-18T20:25:24.258456" 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-08-18T20:25:24.258648" 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-08-18T20:25:24.258848" 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-08-18T20:25:24.259043" 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-08-18T20:25:24.259306" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:24.259134" elapsed="0.000226"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:24.259115" elapsed="0.000269"/>
</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-08-18T20:25:24.259597" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:24.259435" elapsed="0.000278"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:24.259420" elapsed="0.000319"/>
</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-08-18T20:25:24.259975" elapsed="0.000020"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:24.259808" elapsed="0.000221"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:24.259792" elapsed="0.000259"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:24.257130" elapsed="0.002944"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:24.256692" elapsed="0.003408"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:24.247849" elapsed="0.012350">Url: http://10.30.171.138: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-08-18T20:25:26.269111" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:26.269196" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:26.269360" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:26.262427" elapsed="0.007577">Url: http://10.30.171.138: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-08-18T20:25:26.270344" 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-08-18T20:25:26.270976" 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-08-18T20:25:26.271276" 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-08-18T20:25:26.271547" 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-08-18T20:25:26.271848" 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-08-18T20:25:26.272117" 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-08-18T20:25:26.272382" 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-08-18T20:25:26.272763" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:26.272509" elapsed="0.000331"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:26.272482" 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-08-18T20:25:26.273177" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:26.272948" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:26.272926" 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-08-18T20:25:26.273588" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:26.273356" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:26.273335" elapsed="0.000370"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:26.270715" elapsed="0.003022"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:26.270454" elapsed="0.003338"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:26.261486" elapsed="0.012447">Url: http://10.30.171.138: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-08-18T20:25:28.283867" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:28.283981" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:28.284283" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:28.276173" elapsed="0.008823">Url: http://10.30.171.138: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-08-18T20:25:28.285377" 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-08-18T20:25:28.286004" 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-08-18T20:25:28.286279" 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-08-18T20:25:28.286546" 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-08-18T20:25:28.286832" 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-08-18T20:25:28.287099" 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-08-18T20:25:28.287367" 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-08-18T20:25:28.287731" elapsed="0.000046"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:28.287494" elapsed="0.000332"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:28.287468" 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-08-18T20:25:28.288161" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:28.287933" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:28.287911" elapsed="0.000357"/>
</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-08-18T20:25:28.288571" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:28.288338" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:28.288317" elapsed="0.000360"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:28.285771" elapsed="0.002936"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:28.285492" elapsed="0.003267"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:28.275229" elapsed="0.013672">Url: http://10.30.171.138: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-08-18T20:25:30.297070" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:30.297159" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:30.297322" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:30.291110" elapsed="0.006871">Url: http://10.30.171.138: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-08-18T20:25:30.298327" 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-08-18T20:25:30.299037" 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-08-18T20:25:30.299324" 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-08-18T20:25:30.299593" 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-08-18T20:25:30.300200" 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-08-18T20:25:30.300482" 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-08-18T20:25:30.300850" 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-08-18T20:25:30.301221" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:30.300981" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:30.300954" 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-08-18T20:25:30.301641" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:30.301406" elapsed="0.000311"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:30.301385" elapsed="0.000383"/>
</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-08-18T20:25:30.302076" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:30.301844" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:30.301822" elapsed="0.000364"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:30.298792" elapsed="0.003426"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:30.298479" elapsed="0.003774"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:30.290193" elapsed="0.012198">Url: http://10.30.171.138: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-08-18T20:25:32.311125" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:32.311238" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:32.311435" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:32.304597" elapsed="0.007585">Url: http://10.30.171.138: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-08-18T20:25:32.312528" 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-08-18T20:25:32.313148" 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-08-18T20:25:32.313420" 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-08-18T20:25:32.313687" 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-08-18T20:25:32.313972" 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-08-18T20:25:32.314241" 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-08-18T20:25:32.314510" 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-08-18T20:25:32.314896" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:32.314640" elapsed="0.000333"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:32.314612" 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-08-18T20:25:32.315307" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:32.315079" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:32.315058" elapsed="0.000359"/>
</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-08-18T20:25:32.315716" elapsed="0.000081"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:32.315489" elapsed="0.000371"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:32.315467" elapsed="0.000428"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:32.312920" elapsed="0.003013"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:32.312635" elapsed="0.003334"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:32.303693" elapsed="0.012499">Url: http://10.30.171.138: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-08-18T20:25:34.325160" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:34.325295" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:34.325539" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:34.318556" elapsed="0.007682">Url: http://10.30.171.138: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-08-18T20:25:34.326599" 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-08-18T20:25:34.327236" 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-08-18T20:25:34.327510" 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-08-18T20:25:34.327792" 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-08-18T20:25:34.328058" 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-08-18T20:25:34.328319" 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-08-18T20:25:34.328583" 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-08-18T20:25:34.328988" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:34.328717" elapsed="0.000348"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:34.328689" 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-08-18T20:25:34.329404" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:34.329178" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:34.329156" elapsed="0.000354"/>
</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-08-18T20:25:34.329828" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:34.329579" elapsed="0.000329"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:34.329559" elapsed="0.000382"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:34.326998" elapsed="0.002973"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:34.326711" elapsed="0.003299"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:34.317591" elapsed="0.012563">Url: http://10.30.171.138: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-08-18T20:25:36.339179" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:36.339291" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:36.339507" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:36.332993" elapsed="0.007220">Url: http://10.30.171.138: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-08-18T20:25:36.340634" 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-08-18T20:25:36.341255" 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-08-18T20:25:36.341525" 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-08-18T20:25:36.341822" 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-08-18T20:25:36.342088" 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-08-18T20:25:36.342351" 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-08-18T20:25:36.342620" 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-08-18T20:25:36.343007" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:36.342764" elapsed="0.000319"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:36.342721" elapsed="0.000395"/>
</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-08-18T20:25:36.343418" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:36.343191" elapsed="0.000299"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:36.343168" elapsed="0.000353"/>
</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-08-18T20:25:36.343835" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:36.343593" elapsed="0.000316"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:36.343572" elapsed="0.000368"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:36.341029" elapsed="0.002941"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:36.340740" elapsed="0.003268"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:36.332080" elapsed="0.012069">Url: http://10.30.171.138: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-08-18T20:25:38.352300" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:38.352388" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:38.352543" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:38.346342" elapsed="0.006826">Url: http://10.30.171.138: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-08-18T20:25:38.353516" 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-08-18T20:25:38.354133" elapsed="0.000030"/>
</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-08-18T20:25:38.354436" 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-08-18T20:25:38.354704" 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-08-18T20:25:38.354994" 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-08-18T20:25:38.355255" 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-08-18T20:25:38.355519" 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-08-18T20:25:38.355992" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:38.355732" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:38.355704" 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-08-18T20:25:38.356403" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:38.356177" elapsed="0.000299"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:38.356156" elapsed="0.000351"/>
</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-08-18T20:25:38.356822" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:38.356577" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:38.356557" elapsed="0.000371"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:38.353903" elapsed="0.003056"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:38.353621" elapsed="0.003374"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:38.345410" elapsed="0.011724">Url: http://10.30.171.138: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-08-18T20:25:40.366372" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:40.366458" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:40.366622" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:40.359332" elapsed="0.007909">Url: http://10.30.171.138: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-08-18T20:25:40.367605" 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-08-18T20:25:40.368228" 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-08-18T20:25:40.368504" 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-08-18T20:25:40.368786" 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-08-18T20:25:40.369055" 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-08-18T20:25:40.369340" 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-08-18T20:25:40.369609" 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-08-18T20:25:40.370001" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:40.369737" elapsed="0.000341"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:40.369711" elapsed="0.000401"/>
</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-08-18T20:25:40.370420" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:40.370186" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:40.370164" elapsed="0.000364"/>
</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-08-18T20:25:40.370850" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:40.370600" elapsed="0.000326"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:40.370579" elapsed="0.000379"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:40.367997" elapsed="0.002993"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:40.367711" elapsed="0.003315"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:40.358389" elapsed="0.012774">Url: http://10.30.171.138: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-08-18T20:25:42.380086" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:42.380223" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:42.380467" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:42.373631" elapsed="0.008233">Url: http://10.30.171.138: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-08-18T20:25:42.382684" elapsed="0.000154"/>
</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-08-18T20:25:42.383678" 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-08-18T20:25:42.383982" 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-08-18T20:25:42.384248" 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-08-18T20:25:42.384511" 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-08-18T20:25:42.384792" 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-08-18T20:25:42.385062" 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-08-18T20:25:42.385433" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:42.385194" elapsed="0.000313"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:42.385164" elapsed="0.000381"/>
</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-08-18T20:25:42.385867" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:42.385620" elapsed="0.000323"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:42.385599" 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-08-18T20:25:42.386272" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:42.386045" elapsed="0.000315"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:42.386024" elapsed="0.000372"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:42.383389" elapsed="0.003038"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:42.382980" elapsed="0.003484"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:42.372676" elapsed="0.013934">Url: http://10.30.171.138: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-08-18T20:25:44.395167" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:44.395301" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:44.395539" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:44.388957" elapsed="0.007540">Url: http://10.30.171.138: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-08-18T20:25:44.397268" 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-08-18T20:25:44.398212" 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-08-18T20:25:44.398505" 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-08-18T20:25:44.398799" 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-08-18T20:25:44.399387" 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-08-18T20:25:44.399677" 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-08-18T20:25:44.399981" elapsed="0.000039"/>
</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-08-18T20:25:44.400388" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:44.400132" elapsed="0.000342"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:44.400103" 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-08-18T20:25:44.400848" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:44.400591" elapsed="0.000336"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:44.400569" elapsed="0.000391"/>
</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-08-18T20:25:44.401345" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:44.401073" elapsed="0.000352"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:44.401013" elapsed="0.000443"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:44.397958" elapsed="0.003538"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:44.397460" elapsed="0.004076"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:44.387943" elapsed="0.013734">Url: http://10.30.171.138: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-08-18T20:25:46.410110" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:46.410195" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:46.410347" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:46.403888" elapsed="0.007078">Url: http://10.30.171.138: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-08-18T20:25:46.411299" 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-08-18T20:25:46.411906" 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-08-18T20:25:46.412180" 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-08-18T20:25:46.412442" 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-08-18T20:25:46.412707" 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-08-18T20:25:46.412990" 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-08-18T20:25:46.413257" 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-08-18T20:25:46.413635" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:46.413382" elapsed="0.000439"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:46.413356" elapsed="0.000502"/>
</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-08-18T20:25:46.414170" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:46.413936" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:46.413913" elapsed="0.000364"/>
</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-08-18T20:25:46.414581" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:46.414350" elapsed="0.000305"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:46.414328" elapsed="0.000359"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:46.411654" elapsed="0.003064"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:46.411403" elapsed="0.003371"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:46.402972" elapsed="0.011941">Url: http://10.30.171.138: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-08-18T20:25:48.422334" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:48.422418" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:48.422584" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:48.416945" elapsed="0.006250">Url: http://10.30.171.138: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-08-18T20:25:48.423526" 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-08-18T20:25:48.424139" 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-08-18T20:25:48.424413" 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-08-18T20:25:48.424679" 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-08-18T20:25:48.424963" 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-08-18T20:25:48.425226" 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-08-18T20:25:48.425490" 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-08-18T20:25:48.425865" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:48.425614" elapsed="0.000328"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:48.425589" 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-08-18T20:25:48.426275" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:48.426049" elapsed="0.000302"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:48.426027" elapsed="0.000355"/>
</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-08-18T20:25:48.426694" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:48.426453" elapsed="0.000335"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:48.426432" elapsed="0.000389"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:48.423913" elapsed="0.002939"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:48.423628" elapsed="0.003259"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:48.416078" elapsed="0.010943">Url: http://10.30.171.138: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-08-18T20:25:50.434872" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:50.435065" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:50.435245" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:50.430047" elapsed="0.005839">Url: http://10.30.171.138: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-08-18T20:25:50.436243" 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-08-18T20:25:50.436859" elapsed="0.000030"/>
</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-08-18T20:25:50.437130" 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-08-18T20:25:50.437392" 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-08-18T20:25:50.437653" 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-08-18T20:25:50.437932" 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-08-18T20:25:50.438221" 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-08-18T20:25:50.438589" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:50.438353" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:50.438325" elapsed="0.000372"/>
</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-08-18T20:25:50.439040" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:50.438802" elapsed="0.000314"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:50.438768" 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-08-18T20:25:50.439452" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:50.439218" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:50.439198" elapsed="0.000368"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:50.436609" elapsed="0.002988"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:50.436351" elapsed="0.003284"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:50.429050" elapsed="0.010753">Url: http://10.30.171.138: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-08-18T20:25:52.447886" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:52.447977" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:52.448136" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:52.442048" elapsed="0.006689">Url: http://10.30.171.138: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-08-18T20:25:52.449107" 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-08-18T20:25:52.449715" 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-08-18T20:25:52.450010" elapsed="0.000104"/>
</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-08-18T20:25:52.450360" 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-08-18T20:25:52.450625" 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-08-18T20:25:52.450909" 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-08-18T20:25:52.451175" 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-08-18T20:25:52.451539" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:52.451302" elapsed="0.000312"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:52.451276" elapsed="0.000371"/>
</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-08-18T20:25:52.451969" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:52.451721" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:52.451700" 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-08-18T20:25:52.452377" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:52.452150" elapsed="0.000300"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:52.452129" elapsed="0.000354"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:52.449470" elapsed="0.003043"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:52.449212" elapsed="0.003337"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:52.441105" elapsed="0.011580">Url: http://10.30.171.138: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-08-18T20:25:54.462484" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:54.462578" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:54.462769" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:54.455171" elapsed="0.008232">Url: http://10.30.171.138: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-08-18T20:25:54.463763" 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-08-18T20:25:54.464434" 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-08-18T20:25:54.464710" 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-08-18T20:25:54.464999" 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-08-18T20:25:54.465266" 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-08-18T20:25:54.465530" 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-08-18T20:25:54.465817" 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-08-18T20:25:54.466189" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:54.465946" elapsed="0.000320"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:54.465919" 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-08-18T20:25:54.466641" elapsed="0.000031"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:54.466402" elapsed="0.000425"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:54.466373" 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-08-18T20:25:54.467188" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:54.466954" elapsed="0.000310"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:54.466932" elapsed="0.000363"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:54.464159" elapsed="0.003167"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:54.463874" elapsed="0.003487"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:54.454082" elapsed="0.013421">Url: http://10.30.171.138: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-08-18T20:25:56.475909" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:56.476024" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:56.476229" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:56.469690" elapsed="0.007211">Url: http://10.30.171.138: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-08-18T20:25:56.477236" 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-08-18T20:25:56.477849" 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-08-18T20:25:56.478122" 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-08-18T20:25:56.478387" 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-08-18T20:25:56.478649" 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-08-18T20:25:56.478933" 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-08-18T20:25:56.479200" 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-08-18T20:25:56.479561" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:56.479326" elapsed="0.000309"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:56.479300" elapsed="0.000369"/>
</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-08-18T20:25:56.480009" elapsed="0.000030"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:56.479758" elapsed="0.000330"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:56.479720" 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-08-18T20:25:56.480427" elapsed="0.000029"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:56.480196" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:56.480173" elapsed="0.000364"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:56.477599" elapsed="0.002970"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:56.477342" elapsed="0.003287"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:56.468824" elapsed="0.011972">Url: http://10.30.171.138: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-08-18T20:25:58.489124" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:25:58.489239" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:25:58.489515" level="FAIL">Url: http://10.30.171.138: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-08-18T20:25:58.482998" elapsed="0.007131">Url: http://10.30.171.138: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-08-18T20:25:58.490468" 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-08-18T20:25:58.491082" 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-08-18T20:25:58.491356" 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-08-18T20:25:58.491622" 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-08-18T20:25:58.492191" 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-08-18T20:25:58.492469" 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-08-18T20:25:58.492789" 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-08-18T20:25:58.493173" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:58.492932" elapsed="0.000317"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:58.492904" elapsed="0.000381"/>
</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-08-18T20:25:58.493587" elapsed="0.000027"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:58.493359" elapsed="0.000304"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:58.493338" elapsed="0.000356"/>
</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-08-18T20:25:58.494017" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:25:58.493786" elapsed="0.000308"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:25:58.493761" elapsed="0.000364"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:25:58.490852" elapsed="0.003305"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:25:58.490572" elapsed="0.003621"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:25:58.482090" elapsed="0.012251">Url: http://10.30.171.138: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-08-18T20:26:00.502483" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:00.502571" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:00.502725" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:00.496612" elapsed="0.006723">Url: http://10.30.171.138: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-08-18T20:26:00.503674" 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-08-18T20:26:00.504323" 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-08-18T20:26:00.504608" 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-08-18T20:26:00.504925" 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-08-18T20:26:00.505216" 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-08-18T20:26:00.505505" 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-08-18T20:26:00.505911" 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-08-18T20:26:00.506292" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:26:00.506046" elapsed="0.000321"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:26:00.506019" 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-08-18T20:26:00.506709" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:26:00.506478" elapsed="0.000325"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:26:00.506456" elapsed="0.000383"/>
</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-08-18T20:26:00.507146" elapsed="0.000028"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:26:00.506914" elapsed="0.000306"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:26:00.506890" elapsed="0.000362"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:26:00.504055" elapsed="0.003228"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:26:00.503799" elapsed="0.003523"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:26:00.495581" elapsed="0.011885">Url: http://10.30.171.138: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-08-18T20:26:02.516245" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:02.516386" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:02.516632" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:02.509894" elapsed="0.007743">Url: http://10.30.171.138: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-08-18T20:26:02.518224" 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-08-18T20:26:02.519253" 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-08-18T20:26:02.519721" elapsed="0.000075"/>
</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-08-18T20:26:02.520207" 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-08-18T20:26:02.520661" 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-08-18T20:26:02.521168" 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-08-18T20:26:02.521627" elapsed="0.000047"/>
</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-08-18T20:26:02.522270" elapsed="0.000048"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:26:02.521865" elapsed="0.000532"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:26:02.521820" elapsed="0.000634"/>
</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-08-18T20:26:02.522999" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:26:02.522577" elapsed="0.000552"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:26:02.522541" elapsed="0.000643"/>
</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-08-18T20:26:02.523838" elapsed="0.000051"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:26:02.523304" elapsed="0.000668"/>
</branch>
<status status="NOT RUN" start="2026-08-18T20:26:02.523268" elapsed="0.000760"/>
</if>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:26:02.518861" elapsed="0.005220"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:26:02.518399" elapsed="0.005743"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check Linear topology.</doc>
<status status="FAIL" start="2026-08-18T20:26:02.508862" elapsed="0.015617">Url: http://10.30.171.138:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<msg time="2026-08-18T20:26:02.524688" level="FAIL">Keyword 'FlowLib.Check Linear Topology' failed after retrying for 5 minutes. The last error was: Url: http://10.30.171.138: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-08-18T20:21:02.349420" elapsed="300.175521">Keyword 'FlowLib.Check Linear Topology' failed after retrying for 5 minutes. The last error was: Url: http://10.30.171.138: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-08-18T20:21:02.348933" elapsed="300.176437">Keyword 'FlowLib.Check Linear Topology' failed after retrying for 5 minutes. The last error was: Url: http://10.30.171.138: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-08-18T20:26:02.533145" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:02.533199" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:02.533293" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:02.529215" elapsed="0.004450">Url: http://10.30.171.138: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-08-18T20:26:02.533895" 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-08-18T20:26:02.534097" elapsed="0.000020"/>
</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-08-18T20:26:02.534296" elapsed="0.000019"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:02.528874" elapsed="0.005533">Url: http://10.30.171.138: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-08-18T20:26:03.542537" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:03.542664" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:03.542932" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:03.536289" elapsed="0.007628">Url: http://10.30.171.138: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-08-18T20:26:03.544499" elapsed="0.000064"/>
</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-08-18T20:26:03.545008" 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-08-18T20:26:03.545467" elapsed="0.000052"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:03.535324" elapsed="0.010457">Url: http://10.30.171.138: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-08-18T20:26:04.552780" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:04.552932" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:04.553072" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:04.547361" elapsed="0.006249">Url: http://10.30.171.138: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-08-18T20:26:04.553931" 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-08-18T20:26:04.554207" 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-08-18T20:26:04.554518" elapsed="0.000030"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:04.546564" elapsed="0.008118">Url: http://10.30.171.138: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-08-18T20:26:05.562795" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:05.562931" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:05.563164" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:05.556523" elapsed="0.007575">Url: http://10.30.171.138: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-08-18T20:26:05.564659" elapsed="0.000055"/>
</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-08-18T20:26:05.565148" 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-08-18T20:26:05.565676" elapsed="0.000048"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:05.555604" elapsed="0.010402">Url: http://10.30.171.138: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-08-18T20:26:06.575602" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:06.575731" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:06.576018" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:06.568526" elapsed="0.008444">Url: http://10.30.171.138: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-08-18T20:26:06.577470" 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-08-18T20:26:06.577947" 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-08-18T20:26:06.578494" elapsed="0.000047"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:06.566960" elapsed="0.011824">Url: http://10.30.171.138: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-08-18T20:26:07.586406" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:07.586491" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:07.586641" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:07.580671" elapsed="0.006626">Url: http://10.30.171.138: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-08-18T20:26:07.587638" elapsed="0.000032"/>
</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-08-18T20:26:07.587941" 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-08-18T20:26:07.588225" elapsed="0.000028"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:07.579781" elapsed="0.008609">Url: http://10.30.171.138: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-08-18T20:26:08.596881" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:08.597017" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:08.597246" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:08.590263" elapsed="0.007914">Url: http://10.30.171.138: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-08-18T20:26:08.598726" elapsed="0.000086"/>
</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-08-18T20:26:08.599214" elapsed="0.000046"/>
</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-08-18T20:26:08.599660" elapsed="0.000045"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:08.589329" elapsed="0.010621">Url: http://10.30.171.138: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-08-18T20:26:09.607994" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:09.608125" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:09.608457" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:09.601858" elapsed="0.007521">Url: http://10.30.171.138: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-08-18T20:26:09.610051" 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-08-18T20:26:09.610507" 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-08-18T20:26:09.610846" elapsed="0.000034"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:09.600916" elapsed="0.010103">Url: http://10.30.171.138: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-08-18T20:26:10.620230" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:10.620370" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:10.620688" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:10.613085" elapsed="0.008586">Url: http://10.30.171.138: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-08-18T20:26:10.622061" elapsed="0.000032"/>
</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-08-18T20:26:10.622342" 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-08-18T20:26:10.622622" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:10.612051" elapsed="0.010762">Url: http://10.30.171.138: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-08-18T20:26:11.630680" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:11.630796" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:11.630960" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:11.624546" elapsed="0.007078">Url: http://10.30.171.138: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-08-18T20:26:11.632018" 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-08-18T20:26:11.632313" 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-08-18T20:26:11.632597" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:11.623623" elapsed="0.009164">Url: http://10.30.171.138: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-08-18T20:26:12.640933" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:12.641181" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:12.641419" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:12.634547" elapsed="0.007827">Url: http://10.30.171.138: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-08-18T20:26:12.642922" 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-08-18T20:26:12.643363" elapsed="0.000046"/>
</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-08-18T20:26:12.643870" elapsed="0.000048"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:12.633623" elapsed="0.010510">Url: http://10.30.171.138: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-08-18T20:26:13.652531" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:13.652662" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:13.652962" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:13.646008" elapsed="0.007893">Url: http://10.30.171.138: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-08-18T20:26:13.654468" 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-08-18T20:26:13.654914" elapsed="0.000023"/>
</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-08-18T20:26:13.655119" elapsed="0.000021"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:13.645051" elapsed="0.010189">Url: http://10.30.171.138: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-08-18T20:26:14.663316" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:14.663457" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:14.663709" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:14.657005" elapsed="0.007764">Url: http://10.30.171.138: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-08-18T20:26:14.665319" 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-08-18T20:26:14.665824" elapsed="0.000052"/>
</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-08-18T20:26:14.667113" elapsed="0.000059"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:14.656082" elapsed="0.011355">Url: http://10.30.171.138: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-08-18T20:26:15.676154" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:15.676307" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:15.676581" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:15.669464" elapsed="0.008158">Url: http://10.30.171.138: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-08-18T20:26:15.678240" 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-08-18T20:26:15.678725" elapsed="0.000094"/>
</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-08-18T20:26:15.679120" elapsed="0.000030"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:15.668463" elapsed="0.010837">Url: http://10.30.171.138: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-08-18T20:26:16.687266" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:16.687363" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:16.687529" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:16.681194" elapsed="0.006996">Url: http://10.30.171.138: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-08-18T20:26:16.688553" 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-08-18T20:26:16.688881" 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-08-18T20:26:16.689217" elapsed="0.000034"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:16.680244" elapsed="0.009161">Url: http://10.30.171.138: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-08-18T20:26:17.698172" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:17.698260" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:17.698509" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:17.691325" elapsed="0.007836">Url: http://10.30.171.138: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-08-18T20:26:17.699514" 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-08-18T20:26:17.699880" elapsed="0.000041"/>
</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-08-18T20:26:17.700214" elapsed="0.000030"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:17.690366" elapsed="0.010022">Url: http://10.30.171.138: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-08-18T20:26:18.708418" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:18.708503" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:18.708660" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:18.702246" elapsed="0.007055">Url: http://10.30.171.138: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-08-18T20:26:18.709637" 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-08-18T20:26:18.709950" 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-08-18T20:26:18.710236" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:18.701317" elapsed="0.009084">Url: http://10.30.171.138: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-08-18T20:26:19.719492" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:19.719631" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:19.719939" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:19.713218" elapsed="0.007833">Url: http://10.30.171.138: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-08-18T20:26:19.721635" elapsed="0.000057"/>
</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-08-18T20:26:19.722160" elapsed="0.000050"/>
</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-08-18T20:26:19.722642" elapsed="0.000047"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:19.711434" elapsed="0.011522">Url: http://10.30.171.138: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-08-18T20:26:20.730320" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:20.730494" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:20.730650" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:20.724620" elapsed="0.006635">Url: http://10.30.171.138: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-08-18T20:26:20.731583" elapsed="0.000032"/>
</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-08-18T20:26:20.731880" 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-08-18T20:26:20.732164" elapsed="0.000028"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:20.723779" elapsed="0.008552">Url: http://10.30.171.138: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-08-18T20:26:21.739737" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:21.739850" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:21.740002" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:21.734071" elapsed="0.006515">Url: http://10.30.171.138: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-08-18T20:26:21.740942" 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-08-18T20:26:21.741223" 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-08-18T20:26:21.741517" elapsed="0.000035"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:21.733188" elapsed="0.008501">Url: http://10.30.171.138: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-08-18T20:26:22.750332" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:22.750457" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:22.750659" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:22.743250" elapsed="0.008097">Url: http://10.30.171.138: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-08-18T20:26:22.751655" 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-08-18T20:26:22.751952" 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-08-18T20:26:22.752314" elapsed="0.000030"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:22.742421" elapsed="0.010055">Url: http://10.30.171.138: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-08-18T20:26:23.761055" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:23.761143" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:23.761315" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:23.754467" elapsed="0.007481">Url: http://10.30.171.138: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-08-18T20:26:23.762336" elapsed="0.000032"/>
</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-08-18T20:26:23.762615" elapsed="0.000028"/>
</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-08-18T20:26:23.762919" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:23.753502" elapsed="0.009606">Url: http://10.30.171.138: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-08-18T20:26:24.771613" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:24.771703" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:24.771905" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:24.765219" elapsed="0.007349">Url: http://10.30.171.138: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-08-18T20:26:24.772965" 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-08-18T20:26:24.773250" 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-08-18T20:26:24.773533" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:24.764169" elapsed="0.009540">Url: http://10.30.171.138: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-08-18T20:26:25.782021" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:25.782163" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:25.782425" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:25.775614" elapsed="0.007437">Url: http://10.30.171.138: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-08-18T20:26:25.783393" 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-08-18T20:26:25.783668" 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-08-18T20:26:25.783969" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:25.774626" elapsed="0.009513">Url: http://10.30.171.138: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-08-18T20:26:26.792156" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:26.792287" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:26.792520" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:26.785975" elapsed="0.007478">Url: http://10.30.171.138: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-08-18T20:26:26.794093" elapsed="0.000074"/>
</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-08-18T20:26:26.794590" 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-08-18T20:26:26.795085" elapsed="0.000055"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:26.785059" elapsed="0.010284">Url: http://10.30.171.138: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-08-18T20:26:27.803690" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:27.803804" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:27.803973" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:27.797358" elapsed="0.007798">Url: http://10.30.171.138: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-08-18T20:26:27.805550" 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-08-18T20:26:27.805862" 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-08-18T20:26:27.806168" elapsed="0.000037"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:27.796361" elapsed="0.010019">Url: http://10.30.171.138: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-08-18T20:26:28.814595" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:28.814804" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:28.814989" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:28.808413" elapsed="0.007214">Url: http://10.30.171.138: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-08-18T20:26:28.816010" 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-08-18T20:26:28.816293" 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-08-18T20:26:28.816593" elapsed="0.000030"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:28.807410" elapsed="0.009383">Url: http://10.30.171.138: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-08-18T20:26:29.825343" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:29.825431" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:29.825591" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:29.818887" elapsed="0.007370">Url: http://10.30.171.138: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-08-18T20:26:29.826623" 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-08-18T20:26:29.826925" 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-08-18T20:26:29.827208" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:29.817738" elapsed="0.009637">Url: http://10.30.171.138: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-08-18T20:26:30.835163" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:30.835308" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:30.835552" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:30.829102" elapsed="0.007440">Url: http://10.30.171.138: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-08-18T20:26:30.837096" elapsed="0.000053"/>
</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-08-18T20:26:30.837560" 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-08-18T20:26:30.838179" elapsed="0.000051"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:30.828195" elapsed="0.010322">Url: http://10.30.171.138: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-08-18T20:26:31.846139" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:31.846224" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:31.846377" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:31.840343" elapsed="0.006661">Url: http://10.30.171.138: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-08-18T20:26:31.847338" elapsed="0.000032"/>
</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-08-18T20:26:31.847830" elapsed="0.000041"/>
</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-08-18T20:26:31.848132" elapsed="0.000029"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:31.839414" elapsed="0.008890">Url: http://10.30.171.138: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-08-18T20:26:32.857159" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:32.857291" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:32.857500" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:32.850951" elapsed="0.007157">Url: http://10.30.171.138: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-08-18T20:26:32.858446" elapsed="0.000032"/>
</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-08-18T20:26:32.858721" elapsed="0.000050"/>
</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-08-18T20:26:32.859025" elapsed="0.000028"/>
</kw>
<arg>${less_flows}</arg>
<doc>Check number of flows in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:32.850046" elapsed="0.009144">Url: http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes?content=nonconfig Expected status: 401 != 200</status>
</kw>
<msg time="2026-08-18T20:26:32.859309" level="FAIL">Keyword 'FlowLib.Check Number Of Flows' failed after retrying for 30 seconds. The last error was: Url: http://10.30.171.138: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-08-18T20:26:02.526634" elapsed="30.332799">Keyword 'FlowLib.Check Number Of Flows' failed after retrying for 30 seconds. The last error was: Url: http://10.30.171.138: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-08-18T20:26:02.526050" elapsed="30.333646">Keyword 'FlowLib.Check Number Of Flows' failed after retrying for 30 seconds. The last error was: Url: http://10.30.171.138: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-08-18T20:26:32.865552" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:32.865606" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:32.865700" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:32.861435" elapsed="0.004669">Url: http://10.30.171.138: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-08-18T20:26:32.866316" elapsed="0.000024"/>
</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-08-18T20:26:32.866511" elapsed="0.000021"/>
</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-08-18T20:26:32.866708" elapsed="0.000021"/>
</kw>
<arg>${less_groups}</arg>
<doc>Check number of groups in the inventory.</doc>
<status status="FAIL" start="2026-08-18T20:26:32.860943" elapsed="0.005898">Url: http://10.30.171.138: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-08-18T20:26:32.860008" elapsed="0.006970">Url: http://10.30.171.138: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-08-18T20:26:32.869231" elapsed="0.000148"/>
</kw>
<status status="PASS" start="2026-08-18T20:26:32.868992" elapsed="0.000423"/>
</branch>
<status status="PASS" start="2026-08-18T20:26:32.868967" elapsed="0.000475"/>
</if>
<kw name="Set Variable" owner="BuiltIn">
<msg time="2026-08-18T20:26:32.869949" 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-08-18T20:26:32.869613" elapsed="0.000362"/>
</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-08-18T20:26:32.870857" elapsed="0.000137"/>
</kw>
<status status="PASS" start="2026-08-18T20:26:32.870609" elapsed="0.000420"/>
</branch>
<status status="PASS" start="2026-08-18T20:26:32.870590" elapsed="0.000463"/>
</if>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:26:32.875335" 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-08-18T20:26:32.871192" elapsed="0.004204"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:26:32.967714" level="INFO">*** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=96 byte_count=7950 flow_count=100
*** s2 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=187 byte_count=15580 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-08-18T20:26:32.967857" level="INFO">${output} = *** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=96 byte_count=7950 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-08-18T20:26:32.875604" elapsed="0.092283"/>
</kw>
<return>
<value>${output}</value>
<status status="PASS" start="2026-08-18T20:26:32.967945" elapsed="0.000043"/>
</return>
<msg time="2026-08-18T20:26:32.968120" level="INFO">${output} = *** s1 ------------------------------------------------------------------------
OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=96 byte_count=7950 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-08-18T20:26:32.870304" elapsed="0.097843"/>
</kw>
<kw name="Get Regexp Matches" owner="String">
<msg time="2026-08-18T20:26:32.968729" 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-08-18T20:26:32.968344" elapsed="0.000443"/>
</kw>
<kw name="Evaluate" owner="BuiltIn">
<msg time="2026-08-18T20:26:32.969549" 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-08-18T20:26:32.969009" elapsed="0.000577"/>
</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-08-18T20:26:32.969880" elapsed="0.000453"/>
</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-08-18T20:26:32.868627" elapsed="0.101788"/>
</kw>
<doc>Check Flows after mininet starts.</doc>
<status status="PASS" start="2026-08-18T20:26:32.867419" elapsed="0.103141"/>
</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-08-18T20:26:32.979702" elapsed="0.000023"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:26:32.979477" elapsed="0.000297"/>
</branch>
<status status="PASS" start="2026-08-18T20:26:32.979457" elapsed="0.000343"/>
</if>
<kw name="Write" owner="SSHLibrary">
<msg time="2026-08-18T20:26:32.981084" 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-08-18T20:26:32.979937" elapsed="0.001207"/>
</kw>
<kw name="Read Until" owner="SSHLibrary">
<msg time="2026-08-18T20:26:33.194301" 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.636 seconds
[?2004h[jenkins@releng-23793-645-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-08-18T20:26:32.981317" elapsed="0.213124"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:26:33.194727" elapsed="0.000236"/>
</kw>
<doc>Stops Mininet and exits session ${mininet_conn}</doc>
<status status="PASS" start="2026-08-18T20:26:32.977524" elapsed="0.217510"/>
</kw>
<doc>Stop Mininet.</doc>
<status status="PASS" start="2026-08-18T20:26:32.971007" elapsed="0.224170"/>
</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-08-18T20:26:33.204814" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:33.204902" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:33.205090" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:33.198858" elapsed="0.006912">Url: http://10.30.171.138: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-08-18T20:26:33.206162" elapsed="0.000040"/>
</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-08-18T20:26:33.206651" elapsed="0.000033"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:26:33.206380" elapsed="0.000359"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:26:33.206284" elapsed="0.000519"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:26:33.197925" elapsed="0.009034">Url: http://10.30.171.138: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-08-18T20:26:34.214996" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:34.215133" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:34.215378" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:34.208866" elapsed="0.007599">Url: http://10.30.171.138: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-08-18T20:26:34.216856" 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-08-18T20:26:34.217277" elapsed="0.000028"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:26:34.217051" elapsed="0.000301"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:26:34.216965" elapsed="0.000427"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:26:34.207949" elapsed="0.009583">Url: http://10.30.171.138: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-08-18T20:26:35.225855" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:35.225991" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:35.226222" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:35.219428" elapsed="0.007720">Url: http://10.30.171.138: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-08-18T20:26:35.227659" elapsed="0.000052"/>
</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-08-18T20:26:35.228345" elapsed="0.000047"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:26:35.227988" elapsed="0.000482"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:26:35.227856" elapsed="0.000672"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:26:35.218497" elapsed="0.010242">Url: http://10.30.171.138: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-08-18T20:26:36.237971" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:36.238153" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:36.238471" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:36.230703" elapsed="0.008806">Url: http://10.30.171.138: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-08-18T20:26:36.240185" elapsed="0.000063"/>
</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-08-18T20:26:36.240912" elapsed="0.000049"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:26:36.240519" elapsed="0.000522"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:26:36.240366" elapsed="0.000737"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:26:36.229836" elapsed="0.011499">Url: http://10.30.171.138: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-08-18T20:26:37.248731" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:37.248848" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:37.249127" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:37.243303" elapsed="0.006466">Url: http://10.30.171.138: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-08-18T20:26:37.250125" 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-08-18T20:26:37.250548" elapsed="0.000028"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:26:37.250321" elapsed="0.000303"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:26:37.250232" elapsed="0.000430"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:26:37.242379" elapsed="0.008446">Url: http://10.30.171.138: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-08-18T20:26:38.258945" level="INFO">GET Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:38.259040" level="INFO">GET Response : url=http://10.30.171.138: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-08-18T20:26:38.259230" level="FAIL">Url: http://10.30.171.138: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-08-18T20:26:38.252963" elapsed="0.006939">Url: http://10.30.171.138: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-08-18T20:26:38.260275" 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-08-18T20:26:38.260711" elapsed="0.000030"/>
</kw>
<var name="${switch}"/>
<status status="NOT RUN" start="2026-08-18T20:26:38.260483" elapsed="0.000329"/>
</iter>
<var>${switch}</var>
<value>1</value>
<value>${switches+1}</value>
<status status="NOT RUN" start="2026-08-18T20:26:38.260385" elapsed="0.000468"/>
</for>
<arg>${SWITCHES}</arg>
<doc>Check no switch is in topology</doc>
<status status="FAIL" start="2026-08-18T20:26:38.251942" elapsed="0.009066">Url: http://10.30.171.138:8181/rests/data/network-topology:network-topology?content=nonconfig Expected status: 401 != 200</status>
</kw>
<msg time="2026-08-18T20:26:38.261133" level="FAIL">Keyword 'FlowLib.Check No Switches In Topology' failed after retrying for 5 seconds. The last error was: Url: http://10.30.171.138: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-08-18T20:26:33.196145" elapsed="5.065117">Keyword 'FlowLib.Check No Switches In Topology' failed after retrying for 5 seconds. The last error was: Url: http://10.30.171.138: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-08-18T20:26:33.195622" elapsed="5.065891">Keyword 'FlowLib.Check No Switches In Topology' failed after retrying for 5 seconds. The last error was: Url: http://10.30.171.138: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-08-18T20:26:38.263182" 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-08-18T20:26:38.262715" elapsed="0.000516"/>
</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-08-18T20:26:38.266268" elapsed="0.000033"/>
</kw>
<status status="NOT RUN" start="2026-08-18T20:26:38.265831" elapsed="0.000520"/>
</branch>
<status status="PASS" start="2026-08-18T20:26:38.265797" elapsed="0.000594"/>
</if>
<kw name="Get Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:26:38.266876" 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-08-18T20:26:38.267023" 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-08-18T20:26:38.266611" elapsed="0.000448"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:26:38.268099" level="INFO">Attempting to execute command "sudo iptables -v -F" on remote system "10.30.171.138" 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-08-18T20:26:38.267310" elapsed="0.000838"/>
</kw>
<kw name="Open Connection" owner="SSHLibrary">
<msg time="2026-08-18T20:26:38.268796" 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-08-18T20:26:38.268371" elapsed="0.000453"/>
</kw>
<kw name="Flexible_SSH_Login" owner="SSHKeywords">
<kw name="Get Length" owner="BuiltIn">
<msg time="2026-08-18T20:26:38.269685" level="INFO">Length is 0.</msg>
<msg time="2026-08-18T20:26:38.269779" 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-08-18T20:26:38.269390" elapsed="0.000419"/>
</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-08-18T20:26:38.269968" elapsed="0.000328"/>
</kw>
<kw name="Run Keyword And Return" owner="BuiltIn">
<kw name="Login With Public Key" owner="SSHLibrary">
<msg time="2026-08-18T20:26:38.271149" level="INFO">Logging into '10.30.171.138:22' as 'jenkins'.</msg>
<msg time="2026-08-18T20:26:38.836324" level="INFO">Read output: Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-186-generic x86_64)

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

 System information as of Tue Aug 18 20:26:38 UTC 2026

  System load:  0.0                Processes:             118
  Usage of /:   14.0% of 77.35GB   Users logged in:       0
  Memory usage: 8%                 IPv4 address for ens3: 10.30.171.138
  Swap usage:   0%


Expanded Security Maintenance for Applications is not enabled.

0 updates can be applied immediately.

14 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: Tue Aug 18 20:21:02 2026 from 10.30.171.101
[?2004h[jenkins@releng-23793-645-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-08-18T20:26:38.270830" elapsed="0.565677"/>
</kw>
<msg time="2026-08-18T20:26:38.836604" 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-08-18T20:26:38.270461" elapsed="0.566254"/>
</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-08-18T20:26:38.269048" elapsed="0.567817"/>
</kw>
<kw name="Execute Command" owner="SSHLibrary">
<msg time="2026-08-18T20:26:38.837469" level="INFO">Executing command 'sudo iptables -v -F'.</msg>
<msg time="2026-08-18T20:26:38.880035" level="INFO">Command exited with return code 0.</msg>
<msg time="2026-08-18T20:26:38.880317" 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-08-18T20:26:38.880418" 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-08-18T20:26:38.837162" elapsed="0.043306"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:26:38.880905" elapsed="0.000521"/>
</kw>
<kw name="Log" owner="BuiltIn">
<msg time="2026-08-18T20:26:38.882699" level="INFO"/>
<arg>${stderr}</arg>
<doc>Logs the given message with the given level.</doc>
<status status="PASS" start="2026-08-18T20:26:38.881988" elapsed="0.000861"/>
</kw>
<if>
<branch type="IF" condition="&quot;${return_stdout}&quot;!=&quot;True&quot;">
<return>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:26:38.883382" elapsed="0.000042"/>
</return>
<status status="NOT RUN" start="2026-08-18T20:26:38.883055" elapsed="0.000445"/>
</branch>
<status status="PASS" start="2026-08-18T20:26:38.882990" elapsed="0.000560"/>
</if>
<if>
<branch type="IF" condition="&quot;${return_stderr}&quot;!=&quot;True&quot;">
<return>
<value>${stdout}</value>
<status status="PASS" start="2026-08-18T20:26:38.883947" elapsed="0.000063"/>
</return>
<status status="PASS" start="2026-08-18T20:26:38.883668" elapsed="0.000415"/>
</branch>
<status status="PASS" start="2026-08-18T20:26:38.883634" elapsed="0.000502"/>
</if>
<return>
<value>${stdout}</value>
<value>${stderr}</value>
<status status="NOT RUN" start="2026-08-18T20:26:38.884211" 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-08-18T20:26:38.890992" elapsed="0.000337"/>
</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-08-18T20:26:38.891495" elapsed="0.000171"/>
</kw>
<kw name="Close Connection" owner="SSHLibrary">
<doc>Closes the current connection.</doc>
<status status="PASS" start="2026-08-18T20:26:38.891834" elapsed="0.000099"/>
</kw>
<arg>${current_ssh_connection.index}</arg>
<doc>Restore active SSH connection in SSHLibrary to given index.</doc>
<status status="PASS" start="2026-08-18T20:26:38.884984" elapsed="0.007005"/>
</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-08-18T20:26:38.265106" elapsed="0.626978"/>
</kw>
<msg time="2026-08-18T20:26:38.892141" 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-08-18T20:26:38.264246" elapsed="0.627959"/>
</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-08-18T20:26:38.263508" elapsed="0.628779"/>
</kw>
<kw name="Run Keyword And Ignore Error" owner="BuiltIn">
<kw name="DELETE On Session" owner="RequestsLibrary">
<msg time="2026-08-18T20:26:38.896912" level="INFO">DELETE Request : url=http://10.30.171.138: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=node0p2trgfj4i38snmsu52haijd10.node0', 'Content-Length': '0', 'Authorization': 'Basic YWRtaW46YWRtaW4='} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:38.896963" level="INFO">DELETE Response : url=http://10.30.171.138:8181/rests/data/opendaylight-inventory:nodes 
 status=401, reason=Unauthorized 
 headers={'Content-Length': '0'} 
 body=None 
 </msg>
<msg time="2026-08-18T20:26:38.897095" level="FAIL">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:26:38.892814" elapsed="0.004723">HTTPError: 401 Client Error: Unauthorized for url: http://10.30.171.138: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-08-18T20:26:38.892444" elapsed="0.005161"/>
</kw>
<kw name="Delete All Sessions" owner="RequestsLibrary">
<msg time="2026-08-18T20:26:38.897876" level="INFO">Deleting All Sessions</msg>
<doc>Removes all the session objects</doc>
<status status="PASS" start="2026-08-18T20:26:38.897787" elapsed="0.000273"/>
</kw>
<doc>Delete all sessions.</doc>
<status status="PASS" start="2026-08-18T20:26:38.262403" elapsed="0.635718"/>
</kw>
<doc>Test reconciliation of chained groups and flows after switch connection and controller are restarted.</doc>
<status status="FAIL" start="2026-08-18T20:14:16.510810" elapsed="742.387370"/>
</suite>
<status status="FAIL" start="2026-08-18T20:14:16.509545" elapsed="742.389935"/>
</suite>
<status status="FAIL" start="2026-08-18T20:11:28.075796" elapsed="910.825450"/>
</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>
